/usr/share/doc/libghc-lens-doc/html/Control-Lens-Operators.html is in libghc-lens-doc 4.13-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Control.Lens.Operators</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Control-Lens-Operators.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Control-Lens-Operators.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">lens-4.13: Lenses, Folds and Traversals</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Copyright</th><td>(C) 2012-15 Edward Kmett</td></tr><tr><th>License</th><td>BSD-style (see the file LICENSE)</td></tr><tr><th>Maintainer</th><td>Edward Kmett <ekmett@gmail.com></td></tr><tr><th>Stability</th><td>experimental</td></tr><tr><th>Portability</th><td>non-portable</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Control.Lens.Operators</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1"><a href="Control-Lens-Cons.html">Control.Lens.Cons</a></a></li><li><a href="#g:2"><a href="Control-Lens-Fold.html">Control.Lens.Fold</a></a></li><li><a href="#g:3"><a href="Control-Lens-Getter.html">Control.Lens.Getter</a></a></li><li><a href="#g:4"><a href="Control-Lens-Indexed.html">Control.Lens.Indexed</a></a></li><li><a href="#g:5"><a href="Control-Lens-Lens.html">Control.Lens.Lens</a></a></li><li><a href="#g:6"><a href="Control-Lens-Plated.html">Control.Lens.Plated</a></a></li><li><a href="#g:7"><a href="Control-Lens-Review.html">Control.Lens.Review</a></a></li><li><a href="#g:8"><a href="Control-Lens-Setter.html">Control.Lens.Setter</a></a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module exists for users who like to work with qualified imports
but want access to the operators from Lens.</p><pre>import qualified Control.Lens as L
import Control.Lens.Operators</pre></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:-60--124-">(<|)</a> :: <a href="Control-Lens-Cons.html#t:Cons">Cons</a> s s a a => a -> s -> s</li><li class="src short"><a href="#v:-124--62-">(|>)</a> :: <a href="Control-Lens-Cons.html#t:Snoc">Snoc</a> s s a a => s -> a -> s</li><li class="src short"><a href="#v:-94-..">(^..)</a> :: s -> <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Endo">Endo</a> [a]) s a -> [a]</li><li class="src short"><a href="#v:-94--63-">(^?)</a> :: s -> <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:First">First</a> a) s a -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:-94--63--33-">(^?!)</a> :: s -> <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Endo">Endo</a> a) s a -> a</li><li class="src short"><a href="#v:-94--64-..">(^@..)</a> :: s -> <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Endo">Endo</a> [(i, a)]) s a -> [(i, a)]</li><li class="src short"><a href="#v:-94--64--63-">(^@?)</a> :: s -> <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (i, a))) s a -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (i, a)</li><li class="src short"><a href="#v:-94--64--63--33-">(^@?!)</a> :: s -> <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Endo">Endo</a> (i, a)) s a -> (i, a)</li><li class="src short"><a href="#v:-94-.">(^.)</a> :: s -> <a href="Control-Lens-Getter.html#t:Getting">Getting</a> a s a -> a</li><li class="src short"><a href="#v:-94--64-.">(^@.)</a> :: s -> <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (i, a) s a -> (i, a)</li><li class="src short"><a href="#v:-60-.">(<.)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i p => (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i s t -> r) -> ((a -> b) -> s -> t) -> p a b -> r</li><li class="src short"><a href="#v:.-62-">(.>)</a> :: (st -> r) -> (kab -> st) -> kab -> r</li><li class="src short"><a href="#v:-60-.-62-">(<.>)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> (i, j) p => (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i s t -> r) -> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> j a b -> s -> t) -> p a b -> r</li><li class="src short"><a href="#v:-37--37--126-">(%%~)</a> :: <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s t a b -> (a -> f b) -> s -> f t</li><li class="src short"><a href="#v:-37--37--61-">(%%=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:Over">Over</a> p (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> r) s s a b -> p a (r, b) -> m r</li><li class="src short"><a href="#v:-38-">(&)</a> :: a -> (a -> b) -> b</li><li class="src short"><a href="#v:-38--126-">(&~)</a> :: s -> <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:State">State</a> s a -> s</li><li class="src short"><a href="#v:-60--38--62-">(<&>)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a> f => f a -> (a -> b) -> f b</li><li class="src short"><a href="#v:-63--63-">(??)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a> f => f (a -> b) -> a -> f b</li><li class="src short"><a href="#v:-60--37--126-">(<%~)</a> :: <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> b) s t a b -> (a -> b) -> s -> (b, t)</li><li class="src short"><a href="#v:-60--43--126-">(<+~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a a -> a -> s -> (a, t)</li><li class="src short"><a href="#v:-60--45--126-">(<-~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a a -> a -> s -> (a, t)</li><li class="src short"><a href="#v:-60--42--126-">(<*~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a a -> a -> s -> (a, t)</li><li class="src short"><a href="#v:-60--47--47--126-">(<//~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a a -> a -> s -> (a, t)</li><li class="src short"><a href="#v:-60--94--126-">(<^~)</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a a -> e -> s -> (a, t)</li><li class="src short"><a href="#v:-60--94--94--126-">(<^^~)</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a a -> e -> s -> (a, t)</li><li class="src short"><a href="#v:-60--42--42--126-">(<**~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a> a => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a a -> a -> s -> (a, t)</li><li class="src short"><a href="#v:-60--124--124--126-">(<||~)</a> :: <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>) s t <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> s -> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>, t)</li><li class="src short"><a href="#v:-60--38--38--126-">(<&&~)</a> :: <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>) s t <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> s -> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>, t)</li><li class="src short"><a href="#v:-60--60--37--126-">(<<%~)</a> :: <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a b -> (a -> b) -> s -> (a, t)</li><li class="src short"><a href="#v:-60--60-.-126-">(<<.~)</a> :: <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a b -> b -> s -> (a, t)</li><li class="src short"><a href="#v:-60--60--43--126-">(<<+~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> s -> (a, s)</li><li class="src short"><a href="#v:-60--60--45--126-">(<<-~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> s -> (a, s)</li><li class="src short"><a href="#v:-60--60--42--126-">(<<*~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> s -> (a, s)</li><li class="src short"><a href="#v:-60--60--47--47--126-">(<<//~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> s -> (a, s)</li><li class="src short"><a href="#v:-60--60--94--126-">(<<^~)</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> e -> s -> (a, s)</li><li class="src short"><a href="#v:-60--60--94--94--126-">(<<^^~)</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> e -> s -> (a, s)</li><li class="src short"><a href="#v:-60--60--42--42--126-">(<<**~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a> a => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> s -> (a, s)</li><li class="src short"><a href="#v:-60--60--124--124--126-">(<<||~)</a> :: <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>) s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> s -> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>, s)</li><li class="src short"><a href="#v:-60--60--38--38--126-">(<<&&~)</a> :: <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>) s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> s -> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>, s)</li><li class="src short"><a href="#v:-60--60--60--62--126-">(<<<>~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a> r => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> r) s r -> r -> s -> (r, s)</li><li class="src short"><a href="#v:-60--37--61-">(<%=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> b) s s a b -> (a -> b) -> m b</li><li class="src short"><a href="#v:-60--43--61-">(<+=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a</li><li class="src short"><a href="#v:-60--45--61-">(<-=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a</li><li class="src short"><a href="#v:-60--42--61-">(<*=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a</li><li class="src short"><a href="#v:-60--47--47--61-">(<//=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a</li><li class="src short"><a href="#v:-60--94--61-">(<^=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> e -> m a</li><li class="src short"><a href="#v:-60--94--94--61-">(<^^=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> e -> m a</li><li class="src short"><a href="#v:-60--42--42--61-">(<**=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a</li><li class="src short"><a href="#v:-60--124--124--61-">(<||=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>) s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:-60--38--38--61-">(<&&=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>) s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:-60--60--37--61-">(<<%=)</a> :: (<a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor.html#t:Strong">Strong</a> p, <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m) => <a href="Control-Lens-Type.html#t:Over">Over</a> p (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s s a b -> p a b -> m a</li><li class="src short"><a href="#v:-60--60-.-61-">(<<.=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s s a b -> b -> m a</li><li class="src short"><a href="#v:-60--60--43--61-">(<<+=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a</li><li class="src short"><a href="#v:-60--60--45--61-">(<<-=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a</li><li class="src short"><a href="#v:-60--60--42--61-">(<<*=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a</li><li class="src short"><a href="#v:-60--60--47--47--61-">(<<//=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a</li><li class="src short"><a href="#v:-60--60--94--61-">(<<^=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> e -> m a</li><li class="src short"><a href="#v:-60--60--94--94--61-">(<<^^=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> e -> m a</li><li class="src short"><a href="#v:-60--60--42--42--61-">(<<**=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a</li><li class="src short"><a href="#v:-60--60--124--124--61-">(<<||=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>) s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:-60--60--38--38--61-">(<<&&=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>) s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:-60--60--60--62--61-">(<<<>=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a> r) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> r) s r -> r -> m r</li><li class="src short"><a href="#v:-60--60--126-">(<<~)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s s a b -> m b -> m b</li><li class="src short"><a href="#v:-60--60--62--126-">(<<>~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a> m => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> m) s t m m -> m -> s -> (m, t)</li><li class="src short"><a href="#v:-60--60--62--61-">(<<>=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a> r) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> r) s r -> r -> m r</li><li class="src short"><a href="#v:-60--37--64--126-">(<%@~)</a> :: <a href="Control-Lens-Type.html#t:Over">Over</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> b) s t a b -> (i -> a -> b) -> s -> (b, t)</li><li class="src short"><a href="#v:-60--60--37--64--126-">(<<%@~)</a> :: <a href="Control-Lens-Type.html#t:Over">Over</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a b -> (i -> a -> b) -> s -> (a, t)</li><li class="src short"><a href="#v:-37--37--64--126-">(%%@~)</a> :: <a href="Control-Lens-Type.html#t:IndexedLensLike">IndexedLensLike</a> i f s t a b -> (i -> a -> f b) -> s -> f t</li><li class="src short"><a href="#v:-37--37--64--61-">(%%@=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:IndexedLensLike">IndexedLensLike</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> r) s s a b -> (i -> a -> (r, b)) -> m r</li><li class="src short"><a href="#v:-60--37--64--61-">(<%@=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:IndexedLensLike">IndexedLensLike</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> b) s s a b -> (i -> a -> b) -> m b</li><li class="src short"><a href="#v:-60--60--37--64--61-">(<<%@=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:IndexedLensLike">IndexedLensLike</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s s a b -> (i -> a -> b) -> m a</li><li class="src short"><a href="#v:-94--35-">(^#)</a> :: s -> <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s t a b -> a</li><li class="src short"><a href="#v:-35--126-">(#~)</a> :: <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s t a b -> b -> s -> t</li><li class="src short"><a href="#v:-35--37--126-">(#%~)</a> :: <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s t a b -> (a -> b) -> s -> t</li><li class="src short"><a href="#v:-35--37--37--126-">(#%%~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a> f => <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s t a b -> (a -> f b) -> s -> f t</li><li class="src short"><a href="#v:-35--61-">(#=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s s a b -> b -> m ()</li><li class="src short"><a href="#v:-35--37--61-">(#%=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s s a b -> (a -> b) -> m ()</li><li class="src short"><a href="#v:-60--35--37--126-">(<#%~)</a> :: <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s t a b -> (a -> b) -> s -> (b, t)</li><li class="src short"><a href="#v:-60--35--37--61-">(<#%=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s s a b -> (a -> b) -> m b</li><li class="src short"><a href="#v:-35--37--37--61-">(#%%=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s s a b -> (a -> (r, b)) -> m r</li><li class="src short"><a href="#v:-60--35--126-">(<#~)</a> :: <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s t a b -> b -> s -> (b, t)</li><li class="src short"><a href="#v:-60--35--61-">(<#=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s s a b -> b -> m b</li><li class="src short"><a href="#v:...">(...)</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Applicative.html#t:Applicative">Applicative</a> f, <a href="Control-Lens-Plated.html#t:Plated">Plated</a> c) => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s t c c -> <a href="Control-Lens-Type.html#t:Over">Over</a> p f c c a b -> <a href="Control-Lens-Type.html#t:Over">Over</a> p f s t a b</li><li class="src short"><a href="#v:-35-">(#)</a> :: <a href="Control-Lens-Type.html#t:AReview">AReview</a> t b -> b -> t</li><li class="src short"><a href="#v:-37--126-">(%~)</a> :: <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a b -> (a -> b) -> s -> t</li><li class="src short"><a href="#v:.-126-">(.~)</a> :: <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a b -> b -> s -> t</li><li class="src short"><a href="#v:-63--126-">(?~)</a> :: <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> b) -> b -> s -> t</li><li class="src short"><a href="#v:-60-.-126-">(<.~)</a> :: <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a b -> b -> s -> (b, t)</li><li class="src short"><a href="#v:-60--63--126-">(<?~)</a> :: <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> b) -> b -> s -> (b, t)</li><li class="src short"><a href="#v:-43--126-">(+~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a a -> a -> s -> t</li><li class="src short"><a href="#v:-42--126-">(*~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a a -> a -> s -> t</li><li class="src short"><a href="#v:-45--126-">(-~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a a -> a -> s -> t</li><li class="src short"><a href="#v:-47--47--126-">(//~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a a -> a -> s -> t</li><li class="src short"><a href="#v:-94--126-">(^~)</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a a -> e -> s -> t</li><li class="src short"><a href="#v:-94--94--126-">(^^~)</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a a -> e -> s -> t</li><li class="src short"><a href="#v:-42--42--126-">(**~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a> a => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a a -> a -> s -> t</li><li class="src short"><a href="#v:-124--124--126-">(||~)</a> :: <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> s -> t</li><li class="src short"><a href="#v:-38--38--126-">(&&~)</a> :: <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> s -> t</li><li class="src short"><a href="#v:.-61-">(.=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s s a b -> b -> m ()</li><li class="src short"><a href="#v:-37--61-">(%=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s s a b -> (a -> b) -> m ()</li><li class="src short"><a href="#v:-63--61-">(?=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s s a (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> b) -> b -> m ()</li><li class="src short"><a href="#v:-43--61-">(+=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a) => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s a -> a -> m ()</li><li class="src short"><a href="#v:-45--61-">(-=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a) => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s a -> a -> m ()</li><li class="src short"><a href="#v:-42--61-">(*=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a) => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s a -> a -> m ()</li><li class="src short"><a href="#v:-47--47--61-">(//=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a) => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s a -> a -> m ()</li><li class="src short"><a href="#v:-94--61-">(^=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s a -> e -> m ()</li><li class="src short"><a href="#v:-94--94--61-">(^^=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s a -> e -> m ()</li><li class="src short"><a href="#v:-42--42--61-">(**=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a> a) => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s a -> a -> m ()</li><li class="src short"><a href="#v:-38--38--61-">(&&=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> m ()</li><li class="src short"><a href="#v:-124--124--61-">(||=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> m ()</li><li class="src short"><a href="#v:-60--126-">(<~)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s s a b -> m b -> m ()</li><li class="src short"><a href="#v:-60-.-61-">(<.=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s s a b -> b -> m b</li><li class="src short"><a href="#v:-60--63--61-">(<?=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s s a (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> b) -> b -> m b</li><li class="src short"><a href="#v:-60--62--126-">(<>~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a> a => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a a -> a -> s -> t</li><li class="src short"><a href="#v:-60--62--61-">(<>=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a> a) => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s a -> a -> m ()</li><li class="src short"><a href="#v:-37--64--126-">(%@~)</a> :: <a href="Control-Lens-Setter.html#t:AnIndexedSetter">AnIndexedSetter</a> i s t a b -> (i -> a -> b) -> s -> t</li><li class="src short"><a href="#v:-37--64--61-">(%@=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Setter.html#t:AnIndexedSetter">AnIndexedSetter</a> i s s a b -> (i -> a -> b) -> m ()</li></ul></div><div id="interface"><h1 id="g:1"><a href="Control-Lens-Cons.html">Control.Lens.Cons</a></h1><div class="top"><p class="src"><a name="v:-60--124-" class="def">(<|)</a> :: <a href="Control-Lens-Cons.html#t:Cons">Cons</a> s s a a => a -> s -> s <span class="fixity">infixr 5</span><span class="rightedge"></span> <a href="src/Control-Lens-Cons.html#%3C%7C" class="link">Source</a></p><div class="doc"><p><code><a href="Control-Lens-Cons.html#v:cons">cons</a></code> an element onto a container.</p><p>This is an infix alias for <code><a href="Control-Lens-Cons.html#v:cons">cons</a></code>.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>a <| []
</code></strong>[a]
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>a <| [b, c]
</code></strong>[a,b,c]
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>a <| Seq.fromList []
</code></strong>fromList [a]
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>a <| Seq.fromList [b, c]
</code></strong>fromList [a,b,c]
</pre></div></div><div class="top"><p class="src"><a name="v:-124--62-" class="def">(|>)</a> :: <a href="Control-Lens-Cons.html#t:Snoc">Snoc</a> s s a a => s -> a -> s <span class="fixity">infixl 5</span><span class="rightedge"></span> <a href="src/Control-Lens-Cons.html#%7C%3E" class="link">Source</a></p><div class="doc"><p><code><a href="Control-Lens-Cons.html#v:snoc">snoc</a></code> an element onto the end of a container.</p><p>This is an infix alias for <code><a href="Control-Lens-Cons.html#v:snoc">snoc</a></code>.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>Seq.fromList [] |> a
</code></strong>fromList [a]
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>Seq.fromList [b, c] |> a
</code></strong>fromList [b,c,a]
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>LazyT.pack "hello" |> '!'
</code></strong>"hello!"
</pre></div></div><h1 id="g:2"><a href="Control-Lens-Fold.html">Control.Lens.Fold</a></h1><div class="top"><p class="src"><a name="v:-94-.." class="def">(^..)</a> :: s -> <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Endo">Endo</a> [a]) s a -> [a] <span class="fixity">infixl 8</span><span class="rightedge"></span> <a href="src/Control-Lens-Fold.html#%5E.." class="link">Source</a></p><div class="doc"><p>A convenient infix (flipped) version of <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code>.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>[[1,2],[3]]^..id
</code></strong>[[[1,2],[3]]]
<code class="prompt">>>> </code><strong class="userinput"><code>[[1,2],[3]]^..traverse
</code></strong>[[1,2],[3]]
<code class="prompt">>>> </code><strong class="userinput"><code>[[1,2],[3]]^..traverse.traverse
</code></strong>[1,2,3]
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(1,2)^..both
</code></strong>[1,2]
</pre><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Foldable.html#v:toList">toList</a></code> xs ≡ xs <code><a href="Control-Lens-Operators.html#v:-94-..">^..</a></code> <code><a href="Control-Lens-Fold.html#v:folded">folded</a></code>
(<code><a href="Control-Lens-Operators.html#v:-94-..">^..</a></code>) ≡ <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Function.html#v:flip">flip</a></code> <code><a href="Control-Lens-Fold.html#v:toListOf">toListOf</a></code>
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-94-..">^..</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a -> <a href="'^..'">a</a> :: s -> <code><a href="Control-Lens-Type.html#t:Fold">Fold</a></code> s a -> <a href="'^..'">a</a> :: s -> <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> <a href="'^..'">a</a> :: s -> <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> <a href="'^..'">a</a> :: s -> <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> <a href="'^..'">a</a> :: s -> <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a -> [a]
</pre></div></div><div class="top"><p class="src"><a name="v:-94--63-" class="def">(^?)</a> :: s -> <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:First">First</a> a) s a -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> a <span class="fixity">infixl 8</span><span class="rightedge"></span> <a href="src/Control-Lens-Fold.html#%5E%3F" class="link">Source</a></p><div class="doc"><p>Perform a safe <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/GHC-OldList.html#v:head">head</a></code> of a <code><a href="Control-Lens-Type.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> or retrieve <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#v:Just">Just</a></code> the result
from a <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>.</p><p>When using a <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> as a partial <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, or a <code><a href="Control-Lens-Type.html#t:Fold">Fold</a></code> as a partial <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> this can be a convenient
way to extract the optional value.</p><p>Note: if you get stack overflows due to this, you may want to use <code><a href="Control-Lens-Fold.html#v:firstOf">firstOf</a></code> instead, which can deal
more gracefully with heavily left-biased trees.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>Left 4 ^?_Left
</code></strong>Just 4
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>Right 4 ^?_Left
</code></strong>Nothing
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>"world" ^? ix 3
</code></strong>Just 'l'
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>"world" ^? ix 20
</code></strong>Nothing
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-94--63-">^?</a></code>) ≡ <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Function.html#v:flip">flip</a></code> <code><a href="Control-Lens-Fold.html#v:preview">preview</a></code>
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-94--63-">^?</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
(<code><a href="Control-Lens-Operators.html#v:-94--63-">^?</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Fold">Fold</a></code> s a -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
(<code><a href="Control-Lens-Operators.html#v:-94--63-">^?</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
(<code><a href="Control-Lens-Operators.html#v:-94--63-">^?</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
(<code><a href="Control-Lens-Operators.html#v:-94--63-">^?</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a
</pre></div></div><div class="top"><p class="src"><a name="v:-94--63--33-" class="def">(^?!)</a> :: s -> <a href="Control-Lens-Getter.html#t:Getting">Getting</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Endo">Endo</a> a) s a -> a <span class="fixity">infixl 8</span><span class="rightedge"></span> <a href="src/Control-Lens-Fold.html#%5E%3F%21" class="link">Source</a></p><div class="doc"><p>Perform an *UNSAFE* <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/GHC-OldList.html#v:head">head</a></code> of a <code><a href="Control-Lens-Type.html#t:Fold">Fold</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> assuming that it is there.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>Left 4 ^?! _Left
</code></strong>4
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>"world" ^?! ix 3
</code></strong>'l'
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-94--63--33-">^?!</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a -> a
(<code><a href="Control-Lens-Operators.html#v:-94--63--33-">^?!</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Fold">Fold</a></code> s a -> a
(<code><a href="Control-Lens-Operators.html#v:-94--63--33-">^?!</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a
(<code><a href="Control-Lens-Operators.html#v:-94--63--33-">^?!</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a
(<code><a href="Control-Lens-Operators.html#v:-94--63--33-">^?!</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> a
</pre></div></div><div class="top"><p class="src"><a name="v:-94--64-.." class="def">(^@..)</a> :: s -> <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Endo">Endo</a> [(i, a)]) s a -> [(i, a)] <span class="fixity">infixl 8</span><span class="rightedge"></span> <a href="src/Control-Lens-Fold.html#%5E%40.." class="link">Source</a></p><div class="doc"><p>An infix version of <code><a href="Control-Lens-Fold.html#v:itoListOf">itoListOf</a></code>.</p></div></div><div class="top"><p class="src"><a name="v:-94--64--63-" class="def">(^@?)</a> :: s -> <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Endo">Endo</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (i, a))) s a -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> (i, a) <span class="fixity">infixl 8</span><span class="rightedge"></span> <a href="src/Control-Lens-Fold.html#%5E%40%3F" class="link">Source</a></p><div class="doc"><p>Perform a safe <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/GHC-OldList.html#v:head">head</a></code> (with index) of an <code><a href="Control-Lens-Type.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> or retrieve <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#v:Just">Just</a></code> the index and result
from an <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code>.</p><p>When using a <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> as a partial <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code>, or an <code><a href="Control-Lens-Type.html#t:IndexedFold">IndexedFold</a></code> as a partial <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> this can be a convenient
way to extract the optional value.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-94--64--63-">^@?</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a)
(<code><a href="Control-Lens-Operators.html#v:-94--64--63-">^@?</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:IndexedFold">IndexedFold</a></code> i s a -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a)
(<code><a href="Control-Lens-Operators.html#v:-94--64--63-">^@?</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a)
(<code><a href="Control-Lens-Operators.html#v:-94--64--63-">^@?</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> (i, a)
</pre></div></div><div class="top"><p class="src"><a name="v:-94--64--63--33-" class="def">(^@?!)</a> :: s -> <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Endo">Endo</a> (i, a)) s a -> (i, a) <span class="fixity">infixl 8</span><span class="rightedge"></span> <a href="src/Control-Lens-Fold.html#%5E%40%3F%21" class="link">Source</a></p><div class="doc"><p>Perform an *UNSAFE* <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/GHC-OldList.html#v:head">head</a></code> (with index) of an <code><a href="Control-Lens-Type.html#t:IndexedFold">IndexedFold</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> assuming that it is there.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-94--64--63--33-">^@?!</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a -> (i, a)
(<code><a href="Control-Lens-Operators.html#v:-94--64--63--33-">^@?!</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:IndexedFold">IndexedFold</a></code> i s a -> (i, a)
(<code><a href="Control-Lens-Operators.html#v:-94--64--63--33-">^@?!</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a -> (i, a)
(<code><a href="Control-Lens-Operators.html#v:-94--64--63--33-">^@?!</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a></code> i s a -> (i, a)
</pre></div></div><h1 id="g:3"><a href="Control-Lens-Getter.html">Control.Lens.Getter</a></h1><div class="top"><p class="src"><a name="v:-94-." class="def">(^.)</a> :: s -> <a href="Control-Lens-Getter.html#t:Getting">Getting</a> a s a -> a <span class="fixity">infixl 8</span><span class="rightedge"></span> <a href="src/Control-Lens-Getter.html#%5E." class="link">Source</a></p><div class="doc"><p>View the value pointed to by a <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> or <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or the
result of folding over all the results of a <code><a href="Control-Lens-Fold.html#v:Fold">Fold</a></code> or
<code><a href="Control-Lens-Traversal.html#v:Traversal">Traversal</a></code> that points at a monoidal values.</p><p>This is the same operation as <code><a href="Control-Lens-Getter.html#v:view">view</a></code> with the arguments flipped.</p><p>The fixity and semantics are such that subsequent field accesses can be
performed with (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Function.html#v:.">.</a></code>).</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b)^._2
</code></strong>b
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>("hello","world")^._2
</code></strong>"world"
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>import Data.Complex
</code></strong><code class="prompt">>>> </code><strong class="userinput"><code>((0, 1 :+ 2), 3)^._1._2.to magnitude
</code></strong>2.23606797749979
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-94-.">^.</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Getter">Getter</a></code> s a -> a
(<code><a href="Control-Lens-Operators.html#v:-94-.">^.</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#v:Monoid">Monoid</a></code> m => s -> <code><a href="Control-Lens-Fold.html#v:Fold">Fold</a></code> s m -> m
(<code><a href="Control-Lens-Operators.html#v:-94-.">^.</a></code>) :: s -> <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s a -> a
(<code><a href="Control-Lens-Operators.html#v:-94-.">^.</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a
(<code><a href="Control-Lens-Operators.html#v:-94-.">^.</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#v:Monoid">Monoid</a></code> m => s -> <code><a href="Control-Lens-Traversal.html#v:Traversal-39-">Traversal'</a></code> s m -> m
</pre></div></div><div class="top"><p class="src"><a name="v:-94--64-." class="def">(^@.)</a> :: s -> <a href="Control-Lens-Getter.html#t:IndexedGetting">IndexedGetting</a> i (i, a) s a -> (i, a) <span class="fixity">infixl 8</span><span class="rightedge"></span> <a href="src/Control-Lens-Getter.html#%5E%40." class="link">Source</a></p><div class="doc"><p>View the index and value of an <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code>.</p><p>This is the same operation as <code><a href="Control-Lens-Getter.html#v:iview">iview</a></code> with the arguments flipped.</p><p>The fixity and semantics are such that subsequent field accesses can be
performed with (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Function.html#v:.">.</a></code>).</p><pre>(<code><a href="Control-Lens-Operators.html#v:-94--64-.">^@.</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:IndexedGetter">IndexedGetter</a></code> i s a -> (i, a)
(<code><a href="Control-Lens-Operators.html#v:-94--64-.">^@.</a></code>) :: s -> <code><a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a></code> i s a -> (i, a)
</pre><p>The result probably doesn't have much meaning when applied to an <code><a href="Control-Lens-Type.html#t:IndexedFold">IndexedFold</a></code>.</p></div></div><h1 id="g:4"><a href="Control-Lens-Indexed.html">Control.Lens.Indexed</a></h1><div class="top"><p class="src"><a name="v:-60-." class="def">(<.)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i p => (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i s t -> r) -> ((a -> b) -> s -> t) -> p a b -> r <span class="fixity">infixr 9</span><span class="rightedge"></span> <a href="src/Control-Lens-Indexed.html#%3C." class="link">Source</a></p><div class="doc"><p>Compose an <code><a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a></code> function with a non-indexed function.</p><p>Mnemonically, the <code><</code> points to the indexing we want to preserve.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>let nestedMap = (fmap Map.fromList . Map.fromList) [(1, [(10, "one,ten"), (20, "one,twenty")]), (2, [(30, "two,thirty"), (40,"two,forty")])]
</code></strong><code class="prompt">>>> </code><strong class="userinput"><code>nestedMap^..(itraversed<.itraversed).withIndex
</code></strong>[(1,"one,ten"),(1,"one,twenty"),(2,"two,thirty"),(2,"two,forty")]
</pre></div></div><div class="top"><p class="src"><a name="v:.-62-" class="def">(.>)</a> :: (st -> r) -> (kab -> st) -> kab -> r <span class="fixity">infixr 9</span><span class="rightedge"></span> <a href="src/Control-Lens-Indexed.html#.%3E" class="link">Source</a></p><div class="doc"><p>Compose a non-indexed function with an <code><a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a></code> function.</p><p>Mnemonically, the <code>></code> points to the indexing we want to preserve.</p><p>This is the same as <code>(<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Function.html#v:.">.</a></code>)</code>.</p><p><code>f <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Function.html#v:.">.</a></code> g</code> (and <code>f <code><a href="Control-Lens-Operators.html#v:.-62-">.></a></code> g</code>) gives you the index of <code>g</code> unless <code>g</code> is index-preserving, like a
<code><a href="Control-Lens-Type.html#t:Prism">Prism</a></code>, <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code> or <code><a href="Control-Lens-Type.html#t:Equality">Equality</a></code>, in which case it'll pass through the index of <code>f</code>.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>let nestedMap = (fmap Map.fromList . Map.fromList) [(1, [(10, "one,ten"), (20, "one,twenty")]), (2, [(30, "two,thirty"), (40,"two,forty")])]
</code></strong><code class="prompt">>>> </code><strong class="userinput"><code>nestedMap^..(itraversed.>itraversed).withIndex
</code></strong>[(10,"one,ten"),(20,"one,twenty"),(30,"two,thirty"),(40,"two,forty")]
</pre></div></div><div class="top"><p class="src"><a name="v:-60-.-62-" class="def">(<.>)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> (i, j) p => (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i s t -> r) -> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> j a b -> s -> t) -> p a b -> r <span class="fixity">infixr 9</span><span class="rightedge"></span> <a href="src/Control-Lens-Indexed.html#%3C.%3E" class="link">Source</a></p><div class="doc"><p>Composition of <code><a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a></code> functions.</p><p>Mnemonically, the <code><</code> and <code>></code> points to the fact that we want to preserve the indices.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>let nestedMap = (fmap Map.fromList . Map.fromList) [(1, [(10, "one,ten"), (20, "one,twenty")]), (2, [(30, "two,thirty"), (40,"two,forty")])]
</code></strong><code class="prompt">>>> </code><strong class="userinput"><code>nestedMap^..(itraversed<.>itraversed).withIndex
</code></strong>[((1,10),"one,ten"),((1,20),"one,twenty"),((2,30),"two,thirty"),((2,40),"two,forty")]
</pre></div></div><h1 id="g:5"><a href="Control-Lens-Lens.html">Control.Lens.Lens</a></h1><div class="top"><p class="src"><a name="v:-37--37--126-" class="def">(%%~)</a> :: <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s t a b -> (a -> f b) -> s -> f t <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%25%25~" class="link">Source</a></p><div class="doc"><p>(<code><a href="Control-Lens-Operators.html#v:-37--37--126-">%%~</a></code>) can be used in one of two scenarios:</p><p>When applied to a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, it can edit the target of the <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> in a
structure, extracting a functorial result.</p><p>When applied to a <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>, it can edit the
targets of the traversals, extracting an applicative summary of its
actions.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>[66,97,116,109,97,110] & each %%~ \a -> ("na", chr a)
</code></strong>("nananananana","Batman")
</pre><p>For all that the definition of this combinator is just:</p><pre>(<code><a href="Control-Lens-Operators.html#v:-37--37--126-">%%~</a></code>) ≡ <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Function.html#v:id">id</a></code>
</pre><p>It may be beneficial to think about it as if it had these even more
restricted types, however:</p><pre>(<code><a href="Control-Lens-Operators.html#v:-37--37--126-">%%~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a></code> f => <code><a href="Control-Lens-Iso.html#v:Iso">Iso</a></code> s t a b -> (a -> f b) -> s -> f t
(<code><a href="Control-Lens-Operators.html#v:-37--37--126-">%%~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a></code> f => <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s t a b -> (a -> f b) -> s -> f t
(<code><a href="Control-Lens-Operators.html#v:-37--37--126-">%%~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f => <code><a href="Control-Lens-Traversal.html#v:Traversal">Traversal</a></code> s t a b -> (a -> f b) -> s -> f t
</pre><p>When applied to a <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>, it can edit the
targets of the traversals, extracting a supplemental monoidal summary
of its actions, by choosing <code>f = ((,) m)</code></p><pre>(<code><a href="Control-Lens-Operators.html#v:-37--37--126-">%%~</a></code>) :: <code><a href="Control-Lens-Iso.html#v:Iso">Iso</a></code> s t a b -> (a -> (r, b)) -> s -> (r, t)
(<code><a href="Control-Lens-Operators.html#v:-37--37--126-">%%~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s t a b -> (a -> (r, b)) -> s -> (r, t)
(<code><a href="Control-Lens-Operators.html#v:-37--37--126-">%%~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> m => <code><a href="Control-Lens-Traversal.html#v:Traversal">Traversal</a></code> s t a b -> (a -> (m, b)) -> s -> (m, t)
</pre></div></div><div class="top"><p class="src"><a name="v:-37--37--61-" class="def">(%%=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:Over">Over</a> p (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> r) s s a b -> p a (r, b) -> m r <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%25%25%3D" class="link">Source</a></p><div class="doc"><p>Modify the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> in the current state returning some extra
information of type <code>r</code> or modify all targets of a
<code><a href="Control-Lens-Traversal.html#v:Traversal">Traversal</a></code> in the current state, extracting extra
information of type <code>r</code> and return a monoidal summary of the changes.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>runState (_1 %%= \x -> (f x, g x)) (a,b)
</code></strong>(f a,(g a,b))
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-37--37--61-">%%=</a></code>) ≡ (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#v:state">state</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Function.html#v:.">.</a></code>)
</pre><p>It may be useful to think of (<code><a href="Control-Lens-Operators.html#v:-37--37--61-">%%=</a></code>), instead, as having either of the
following more restricted type signatures:</p><pre>(<code><a href="Control-Lens-Operators.html#v:-37--37--61-">%%=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Iso.html#v:Iso">Iso</a></code> s s a b -> (a -> (r, b)) -> m r
(<code><a href="Control-Lens-Operators.html#v:-37--37--61-">%%=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s s a b -> (a -> (r, b)) -> m r
(<code><a href="Control-Lens-Operators.html#v:-37--37--61-">%%=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> r) => <code><a href="Control-Lens-Traversal.html#v:Traversal">Traversal</a></code> s s a b -> (a -> (r, b)) -> m r
</pre></div></div><div class="top"><p class="src"><a name="v:-38-" class="def">(&)</a> :: a -> (a -> b) -> b <span class="fixity">infixl 1</span><span class="rightedge"></span></p><div class="doc"><p><code><a href="Control-Lens-Operators.html#v:-38-">&</a></code> is a reverse application operator. This provides notational
convenience. Its precedence is one higher than that of the forward
application operator <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Function.html#v:-36-">$</a></code>, which allows <code><a href="Control-Lens-Operators.html#v:-38-">&</a></code> to be nested in <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Function.html#v:-36-">$</a></code>.</p><p><em>Since: 4.8.0.0</em></p></div></div><div class="top"><p class="src"><a name="v:-38--126-" class="def">(&~)</a> :: s -> <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Lazy.html#t:State">State</a> s a -> s <span class="fixity">infixl 1</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%26~" class="link">Source</a></p><div class="doc"><p>This can be used to chain lens operations using <code>op=</code> syntax
rather than <code>op~</code> syntax for simple non-type-changing cases.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(10,20) & _1 .~ 30 & _2 .~ 40
</code></strong>(30,40)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(10,20) &~ do _1 .= 30; _2 .= 40
</code></strong>(30,40)
</pre><p>This does not support type-changing assignment, <em>e.g.</em></p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(10,20) & _1 .~ "hello"
</code></strong>("hello",20)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--38--62-" class="def">(<&>)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a> f => f a -> (a -> b) -> f b <span class="fixity">infixl 1</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%26%3E" class="link">Source</a></p><div class="doc"><p>Infix flipped <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#v:fmap">fmap</a></code>.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--38--62-"><&></a></code>) = <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Function.html#v:flip">flip</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#v:fmap">fmap</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:-63--63-" class="def">(??)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a> f => f (a -> b) -> a -> f b <span class="fixity">infixl 1</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3F%3F" class="link">Source</a></p><div class="doc"><p>This is convenient to <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Function.html#v:flip">flip</a></code> argument order of composite functions defined as:</p><pre>fab ?? a = fmap ($ a) fab
</pre><p>For the <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a></code> instance <code>f = ((->) r)</code> you can reason about this function as if the definition was <code>(<code><a href="Control-Lens-Operators.html#v:-63--63-">??</a></code>) ≡ <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Function.html#v:flip">flip</a></code></code>:</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(h ?? x) a
</code></strong>h a x
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>execState ?? [] $ modify (1:)
</code></strong>[1]
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>over _2 ?? ("hello","world") $ length
</code></strong>("hello",5)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>over ?? length ?? ("hello","world") $ _2
</code></strong>("hello",5)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--37--126-" class="def">(<%~)</a> :: <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> b) s t a b -> (a -> b) -> s -> (b, t) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%25~" class="link">Source</a></p><div class="doc"><p>Modify the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> and return the result.</p><p>When you do not need the result of the addition, (<code><a href="Control-Lens-Setter.html#v:-37--126-">%~</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--37--126-"><%~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s t a b -> (a -> b) -> s -> (b, t)
(<code><a href="Control-Lens-Operators.html#v:-60--37--126-"><%~</a></code>) :: <code><a href="Control-Lens-Iso.html#v:Iso">Iso</a></code> s t a b -> (a -> b) -> s -> (b, t)
(<code><a href="Control-Lens-Operators.html#v:-60--37--126-"><%~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> b => <code><a href="Control-Lens-Traversal.html#v:Traversal">Traversal</a></code> s t a b -> (a -> b) -> s -> (b, t)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--43--126-" class="def">(<+~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a a -> a -> s -> (a, t) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%2B~" class="link">Source</a></p><div class="doc"><p>Increment the target of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> and return the result.</p><p>When you do not need the result of the addition, (<code><a href="Control-Lens-Setter.html#v:-43--126-">+~</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--43--126-"><+~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> s -> (a, s)
(<code><a href="Control-Lens-Operators.html#v:-60--43--126-"><+~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s a -> a -> s -> (a, s)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--45--126-" class="def">(<-~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a a -> a -> s -> (a, t) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C-~" class="link">Source</a></p><div class="doc"><p>Decrement the target of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> and return the result.</p><p>When you do not need the result of the subtraction, (<code><a href="Control-Lens-Setter.html#v:-45--126-">-~</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--45--126-"><-~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> s -> (a, s)
(<code><a href="Control-Lens-Operators.html#v:-60--45--126-"><-~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s a -> a -> s -> (a, s)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--42--126-" class="def">(<*~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a a -> a -> s -> (a, t) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%2A~" class="link">Source</a></p><div class="doc"><p>Multiply the target of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> and return the result.</p><p>When you do not need the result of the multiplication, (<code><a href="Control-Lens-Setter.html#v:-42--126-">*~</a></code>) is more
flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--42--126-"><*~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> s -> (a, s)
(<code><a href="Control-Lens-Operators.html#v:-60--42--126-"><*~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s a -> a -> s -> (a, s)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--47--47--126-" class="def">(<//~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a a -> a -> s -> (a, t) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%2F%2F~" class="link">Source</a></p><div class="doc"><p>Divide the target of a fractionally valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> and return the result.</p><p>When you do not need the result of the division, (<code><a href="Control-Lens-Setter.html#v:-47--47--126-">//~</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--47--47--126-"><//~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> s -> (a, s)
(<code><a href="Control-Lens-Operators.html#v:-60--47--47--126-"><//~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a => <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s a -> a -> s -> (a, s)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--94--126-" class="def">(<^~)</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a a -> e -> s -> (a, t) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%5E~" class="link">Source</a></p><div class="doc"><p>Raise the target of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> to a non-negative
<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> power and return the result.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-94--126-">^~</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--94--126-"><^~</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> e -> s -> (a, s)
(<code><a href="Control-Lens-Operators.html#v:-60--94--126-"><^~</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s a -> e -> s -> (a, s)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--94--94--126-" class="def">(<^^~)</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a a -> e -> s -> (a, t) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%5E%5E~" class="link">Source</a></p><div class="doc"><p>Raise the target of a fractionally valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> to an <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> power
and return the result.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-94--94--126-">^^~</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--94--94--126-"><^^~</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> e -> s -> (a, s)
(<code><a href="Control-Lens-Operators.html#v:-60--94--94--126-"><^^~</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s a -> e -> s -> (a, s)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--42--42--126-" class="def">(<**~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a> a => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a a -> a -> s -> (a, t) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%2A%2A~" class="link">Source</a></p><div class="doc"><p>Raise the target of a floating-point valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> to an arbitrary power
and return the result.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-42--42--126-">**~</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--42--42--126-"><**~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a></code> a => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> s -> (a, s)
(<code><a href="Control-Lens-Operators.html#v:-60--42--42--126-"><**~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a></code> a => <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s a -> a -> s -> (a, s)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--124--124--126-" class="def">(<||~)</a> :: <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>) s t <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> s -> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>, t) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%7C%7C~" class="link">Source</a></p><div class="doc"><p>Logically <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#v:-124--124-">||</a></code> a Boolean valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> and return the result.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-124--124--126-">||~</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--124--124--126-"><||~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code>, s)
(<code><a href="Control-Lens-Operators.html#v:-60--124--124--126-"><||~</a></code>) :: <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code>, s)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--38--38--126-" class="def">(<&&~)</a> :: <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>) s t <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> s -> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>, t) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%26%26~" class="link">Source</a></p><div class="doc"><p>Logically <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#v:-38--38-">&&</a></code> a Boolean valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> and return the result.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-38--38--126-">&&~</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--38--38--126-"><&&~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code>, s)
(<code><a href="Control-Lens-Operators.html#v:-60--38--38--126-"><&&~</a></code>) :: <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code>, s)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--37--126-" class="def">(<<%~)</a> :: <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a b -> (a -> b) -> s -> (a, t) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%25~" class="link">Source</a></p><div class="doc"><p>Modify the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, but return the old value.</p><p>When you do not need the old value, (<code><a href="Control-Lens-Setter.html#v:-37--126-">%~</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--37--126-"><<%~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s t a b -> (a -> b) -> s -> (a, t)
(<code><a href="Control-Lens-Operators.html#v:-60--60--37--126-"><<%~</a></code>) :: <code><a href="Control-Lens-Iso.html#v:Iso">Iso</a></code> s t a b -> (a -> b) -> s -> (a, t)
(<code><a href="Control-Lens-Operators.html#v:-60--60--37--126-"><<%~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> a => <code><a href="Control-Lens-Traversal.html#v:Traversal">Traversal</a></code> s t a b -> (a -> b) -> s -> (a, t)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60-.-126-" class="def">(<<.~)</a> :: <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a b -> b -> s -> (a, t) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C.~" class="link">Source</a></p><div class="doc"><p>Replace the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, but return the old value.</p><p>When you do not need the old value, (<code><a href="Control-Lens-Setter.html#v:.-126-">.~</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60-.-126-"><<.~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s t a b -> b -> s -> (a, t)
(<code><a href="Control-Lens-Operators.html#v:-60--60-.-126-"><<.~</a></code>) :: <code><a href="Control-Lens-Iso.html#v:Iso">Iso</a></code> s t a b -> b -> s -> (a, t)
(<code><a href="Control-Lens-Operators.html#v:-60--60-.-126-"><<.~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> a => <code><a href="Control-Lens-Traversal.html#v:Traversal">Traversal</a></code> s t a b -> b -> s -> (a, t)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--43--126-" class="def">(<<+~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> s -> (a, s) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%2B~" class="link">Source</a></p><div class="doc"><p>Increment the target of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> and return the old value.</p><p>When you do not need the old value, (<code><a href="Control-Lens-Setter.html#v:-43--126-">+~</a></code>) is more flexible.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & _1 <<+~ c
</code></strong>(a,(a + c,b))
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & _2 <<+~ c
</code></strong>(b,(a,b + c))
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--43--126-"><<+~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> s -> (a, s)
(<code><a href="Control-Lens-Operators.html#v:-60--60--43--126-"><<+~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> s -> (a, s)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--45--126-" class="def">(<<-~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> s -> (a, s) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C-~" class="link">Source</a></p><div class="doc"><p>Decrement the target of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> and return the old value.</p><p>When you do not need the old value, (<code><a href="Control-Lens-Setter.html#v:-45--126-">-~</a></code>) is more flexible.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & _1 <<-~ c
</code></strong>(a,(a - c,b))
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & _2 <<-~ c
</code></strong>(b,(a,b - c))
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--45--126-"><<-~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> s -> (a, s)
(<code><a href="Control-Lens-Operators.html#v:-60--60--45--126-"><<-~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> s -> (a, s)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--42--126-" class="def">(<<*~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> s -> (a, s) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%2A~" class="link">Source</a></p><div class="doc"><p>Multiply the target of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> and return the old value.</p><p>When you do not need the old value, (<code><a href="Control-Lens-Setter.html#v:-45--126-">-~</a></code>) is more flexible.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & _1 <<*~ c
</code></strong>(a,(a * c,b))
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & _2 <<*~ c
</code></strong>(b,(a,b * c))
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--42--126-"><<*~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> s -> (a, s)
(<code><a href="Control-Lens-Operators.html#v:-60--60--42--126-"><<*~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> s -> (a, s)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--47--47--126-" class="def">(<<//~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> s -> (a, s) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%2F%2F~" class="link">Source</a></p><div class="doc"><p>Divide the target of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> and return the old value.</p><p>When you do not need the old value, (<code><a href="Control-Lens-Setter.html#v:-47--47--126-">//~</a></code>) is more flexible.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & _1 <<//~ c
</code></strong>(a,(a / c,b))
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>("Hawaii",10) & _2 <<//~ 2
</code></strong>(10.0,("Hawaii",5.0))
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--47--47--126-"><<//~</a></code>) :: Fractional a => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> s -> (a, s)
(<code><a href="Control-Lens-Operators.html#v:-60--60--47--47--126-"><<//~</a></code>) :: Fractional a => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> s -> (a, s)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--94--126-" class="def">(<<^~)</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> e -> s -> (a, s) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%5E~" class="link">Source</a></p><div class="doc"><p>Raise the target of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> to a non-negative power and return the old value.</p><p>When you do not need the old value, (<code><a href="Control-Lens-Setter.html#v:-94--126-">^~</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--94--126-"><<^~</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> e -> s -> (a, s)
(<code><a href="Control-Lens-Operators.html#v:-60--60--94--126-"><<^~</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> e -> s -> (a, s)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--94--94--126-" class="def">(<<^^~)</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> e -> s -> (a, s) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%5E%5E~" class="link">Source</a></p><div class="doc"><p>Raise the target of a fractionally valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> to an integral power and return the old value.</p><p>When you do not need the old value, (<code><a href="Control-Lens-Setter.html#v:-94--94--126-">^^~</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--94--94--126-"><<^^~</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> e -> s -> (a, s)
(<code><a href="Control-Lens-Operators.html#v:-60--60--94--94--126-"><<^^~</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> e -> S -> (a, s)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--42--42--126-" class="def">(<<**~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a> a => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> s -> (a, s) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%2A%2A~" class="link">Source</a></p><div class="doc"><p>Raise the target of a floating-point valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> to an arbitrary power and return the old value.</p><p>When you do not need the old value, (<code><a href="Control-Lens-Setter.html#v:-42--42--126-">**~</a></code>) is more flexible.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & _1 <<**~ c
</code></strong>(a,(a**c,b))
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & _2 <<**~ c
</code></strong>(b,(a,b**c))
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--42--42--126-"><<**~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a></code> a => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> s -> (a, s)
(<code><a href="Control-Lens-Operators.html#v:-60--60--42--42--126-"><<**~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a></code> a => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> s -> (a, s)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--124--124--126-" class="def">(<<||~)</a> :: <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>) s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> s -> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>, s) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%7C%7C~" class="link">Source</a></p><div class="doc"><p>Logically <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#v:-124--124-">||</a></code> the target of a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code>-valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> and return the old value.</p><p>When you do not need the old value, (<code><a href="Control-Lens-Setter.html#v:-124--124--126-">||~</a></code>) is more flexible.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(False,6) & _1 <<||~ True
</code></strong>(False,(True,6))
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>("hello",True) & _2 <<||~ False
</code></strong>(True,("hello",True))
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--124--124--126-"><<||~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code>, s)
(<code><a href="Control-Lens-Operators.html#v:-60--60--124--124--126-"><<||~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code>, s)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--38--38--126-" class="def">(<<&&~)</a> :: <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>) s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> s -> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>, s) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%26%26~" class="link">Source</a></p><div class="doc"><p>Logically <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#v:-38--38-">&&</a></code> the target of a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code>-valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> and return the old value.</p><p>When you do not need the old value, (<code><a href="Control-Lens-Setter.html#v:-38--38--126-">&&~</a></code>) is more flexible.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(False,6) & _1 <<&&~ True
</code></strong>(False,(False,6))
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>("hello",True) & _2 <<&&~ False
</code></strong>(True,("hello",False))
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--38--38--126-"><<&&~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s Bool -> Bool -> s -> (Bool, s)
(<code><a href="Control-Lens-Operators.html#v:-60--60--38--38--126-"><<&&~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s Bool -> Bool -> s -> (Bool, s)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--60--62--126-" class="def">(<<<>~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a> r => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> r) s r -> r -> s -> (r, s) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%3C%3E~" class="link">Source</a></p><div class="doc"><p>Modify the target of a monoidally valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> by <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#v:mappend">mappend</a></code>ing a new value and return the old value.</p><p>When you do not need the old value, (<code><a href="Control-Lens-Setter.html#v:-60--62--126-"><>~</a></code>) is more flexible.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(Sum a,b) & _1 <<<>~ Sum c
</code></strong>(Sum {getSum = a},(Sum {getSum = a + c},b))
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>_2 <<<>~ ", 007" $ ("James", "Bond")
</code></strong>("Bond",("James","Bond, 007"))
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--60--62--126-"><<<>~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> r => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s r -> r -> s -> (r, s)
(<code><a href="Control-Lens-Operators.html#v:-60--60--60--62--126-"><<<>~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> r => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s r -> r -> s -> (r, s)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--37--61-" class="def">(<%=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> b) s s a b -> (a -> b) -> m b <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%25%3D" class="link">Source</a></p><div class="doc"><p>Modify the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s state by a user supplied
function and return the result.</p><p>When applied to a <code><a href="Control-Lens-Traversal.html#v:Traversal">Traversal</a></code>, it this will return a monoidal summary of all of the intermediate
results.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-37--61-">%=</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--37--61-"><%=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> (a -> a) -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--37--61-"><%=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s a -> (a -> a) -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--37--61-"><%=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> a) => <code><a href="Control-Lens-Traversal.html#v:Traversal-39-">Traversal'</a></code> s a -> (a -> a) -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:-60--43--61-" class="def">(<+=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%2B%3D" class="link">Source</a></p><div class="doc"><p>Add to the target of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s state
and return the result.</p><p>When you do not need the result of the addition, (<code><a href="Control-Lens-Setter.html#v:-43--61-">+=</a></code>) is more
flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--43--61-"><+=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--43--61-"><+=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s a -> a -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:-60--45--61-" class="def">(<-=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C-%3D" class="link">Source</a></p><div class="doc"><p>Subtract from the target of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s
state and return the result.</p><p>When you do not need the result of the subtraction, (<code><a href="Control-Lens-Setter.html#v:-45--61-">-=</a></code>) is more
flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--45--61-"><-=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--45--61-"><-=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s a -> a -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:-60--42--61-" class="def">(<*=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%2A%3D" class="link">Source</a></p><div class="doc"><p>Multiply the target of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s
state and return the result.</p><p>When you do not need the result of the multiplication, (<code><a href="Control-Lens-Setter.html#v:-42--61-">*=</a></code>) is more
flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--42--61-"><*=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--42--61-"><*=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s a -> a -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:-60--47--47--61-" class="def">(<//=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%2F%2F%3D" class="link">Source</a></p><div class="doc"><p>Divide the target of a fractionally valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s state
and return the result.</p><p>When you do not need the result of the division, (<code><a href="Control-Lens-Setter.html#v:-47--47--61-">//=</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--47--47--61-"><//=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--47--47--61-"><//=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a) => <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s a -> a -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:-60--94--61-" class="def">(<^=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> e -> m a <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%5E%3D" class="link">Source</a></p><div class="doc"><p>Raise the target of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s state
to a non-negative <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> power and return the result.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-94--61-">^=</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--94--61-"><^=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> e -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--94--61-"><^=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s a -> e -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:-60--94--94--61-" class="def">(<^^=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> e -> m a <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%5E%5E%3D" class="link">Source</a></p><div class="doc"><p>Raise the target of a fractionally valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s state
to an <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> power and return the result.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-94--94--61-">^^=</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--94--94--61-"><^^=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> b, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> e -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--94--94--61-"><^^=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> b, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s a -> e -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:-60--42--42--61-" class="def">(<**=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%2A%2A%3D" class="link">Source</a></p><div class="doc"><p>Raise the target of a floating-point valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s
state to an arbitrary power and return the result.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-42--42--61-">**=</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--42--42--61-"><**=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--42--42--61-"><**=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a></code> a) => <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s a -> a -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:-60--124--124--61-" class="def">(<||=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>) s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%7C%7C%3D" class="link">Source</a></p><div class="doc"><p>Logically <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#v:-124--124-">||</a></code> a Boolean valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s state and return
the result.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-124--124--61-">||=</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--124--124--61-"><||=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> m <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code>
(<code><a href="Control-Lens-Operators.html#v:-60--124--124--61-"><||=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> m <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:-60--38--38--61-" class="def">(<&&=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>) s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%26%26%3D" class="link">Source</a></p><div class="doc"><p>Logically <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#v:-38--38-">&&</a></code> a Boolean valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s state and return
the result.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-38--38--61-">&&=</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--38--38--61-"><&&=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> m <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code>
(<code><a href="Control-Lens-Operators.html#v:-60--38--38--61-"><&&=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> m <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--37--61-" class="def">(<<%=)</a> :: (<a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor.html#t:Strong">Strong</a> p, <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m) => <a href="Control-Lens-Type.html#t:Over">Over</a> p (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s s a b -> p a b -> m a <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%25%3D" class="link">Source</a></p><div class="doc"><p>Modify the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s state by a user supplied
function and return the <em>old</em> value that was replaced.</p><p>When applied to a <code><a href="Control-Lens-Traversal.html#v:Traversal">Traversal</a></code>, it this will return a monoidal summary of all of the old values
present.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-37--61-">%=</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--37--61-"><<%=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> (a -> a) -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--60--37--61-"><<%=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s a -> (a -> a) -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--60--37--61-"><<%=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> a) => <code><a href="Control-Lens-Traversal.html#v:Traversal-39-">Traversal'</a></code> s a -> (a -> a) -> m a
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--37--61-"><<%=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:LensLike">LensLike</a></code> ((,)a) s s a b -> (a -> b) -> m a</pre></div></div><div class="top"><p class="src"><a name="v:-60--60-.-61-" class="def">(<<.=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s s a b -> b -> m a <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C.%3D" class="link">Source</a></p><div class="doc"><p>Replace the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s state with a user supplied
value and return the <em>old</em> value that was replaced.</p><p>When applied to a <code><a href="Control-Lens-Traversal.html#v:Traversal">Traversal</a></code>, it this will return a monoidal summary of all of the old values
present.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:.-61-">.=</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60-.-61-"><<.=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--60-.-61-"><<.=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Iso.html#v:Iso-39-">Iso'</a></code> s a -> a -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--60-.-61-"><<.=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> t) => <code><a href="Control-Lens-Traversal.html#v:Traversal-39-">Traversal'</a></code> s a -> a -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--43--61-" class="def">(<<+=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%2B%3D" class="link">Source</a></p><div class="doc"><p>Modify the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s state by adding a value
and return the <em>old</em> value that was replaced.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-43--61-">+=</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--43--61-"><<+=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--60--43--61-"><<+=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--45--61-" class="def">(<<-=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C-%3D" class="link">Source</a></p><div class="doc"><p>Modify the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s state by subtracting a value
and return the <em>old</em> value that was replaced.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-45--61-">-=</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--45--61-"><<-=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--60--45--61-"><<-=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--42--61-" class="def">(<<*=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%2A%3D" class="link">Source</a></p><div class="doc"><p>Modify the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s state by multipling a value
and return the <em>old</em> value that was replaced.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-42--61-">*=</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--42--61-"><<*=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--60--42--61-"><<*=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--47--47--61-" class="def">(<<//=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%2F%2F%3D" class="link">Source</a></p><div class="doc"><p>Modify the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:Monad">Monad</a></code>s state by dividing by a value
and return the <em>old</em> value that was replaced.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-47--47--61-">//=</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--47--47--61-"><<//=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--60--47--47--61-"><<//=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--94--61-" class="def">(<<^=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> e -> m a <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%5E%3D" class="link">Source</a></p><div class="doc"><p>Modify the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s state by raising it by a non-negative power
and return the <em>old</em> value that was replaced.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-94--61-">^=</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--94--61-"><<^=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> e -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--60--94--61-"><<^=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--94--94--61-" class="def">(<<^^=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> e -> m a <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%5E%5E%3D" class="link">Source</a></p><div class="doc"><p>Modify the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s state by raising it by an integral power
and return the <em>old</em> value that was replaced.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-94--94--61-">^^=</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--94--94--61-"><<^^=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> e -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--60--94--94--61-"><<^^=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> e -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--42--42--61-" class="def">(<<**=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a> a) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s a -> a -> m a <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%2A%2A%3D" class="link">Source</a></p><div class="doc"><p>Modify the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s state by raising it by an arbitrary power
and return the <em>old</em> value that was replaced.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-42--42--61-">**=</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--42--42--61-"><<**=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--60--42--42--61-"><<**=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a></code> a) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--124--124--61-" class="def">(<<||=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>) s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%7C%7C%3D" class="link">Source</a></p><div class="doc"><p>Modify the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s state by taking its logical <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#v:-124--124-">||</a></code> with a value
and return the <em>old</em> value that was replaced.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-124--124--61-">||=</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--124--124--61-"><<||=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> m <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code>
(<code><a href="Control-Lens-Operators.html#v:-60--60--124--124--61-"><<||=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> m <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--38--38--61-" class="def">(<<&&=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a>) s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> m <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%26%26%3D" class="link">Source</a></p><div class="doc"><p>Modify the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s state by taking its logical <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#v:-38--38-">&&</a></code> with a value
and return the <em>old</em> value that was replaced.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-38--38--61-">&&=</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--38--38--61-"><<&&=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> m <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code>
(<code><a href="Control-Lens-Operators.html#v:-60--60--38--38--61-"><<&&=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> m <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code>
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--60--62--61-" class="def">(<<<>=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a> r) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> r) s r -> r -> m r <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%3C%3E%3D" class="link">Source</a></p><div class="doc"><p>Modify the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into your <code>Monad'</code>s state by <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#v:mappend">mappend</a></code>ing a value
and return the <em>old</em> value that was replaced.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-60--62--61-"><>=</a></code>) is more flexible.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--60--62--61-"><<<>=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> r) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s r -> r -> m r
(<code><a href="Control-Lens-Operators.html#v:-60--60--60--62--61-"><<<>=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> r) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s r -> r -> m r
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--126-" class="def">(<<~)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s s a b -> m b -> m b <span class="fixity">infixr 2</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C~" class="link">Source</a></p><div class="doc"><p>Run a monadic action, and set the target of <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> to its result.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--126-"><<~</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Iso.html#v:Iso">Iso</a></code> s s a b -> m b -> m b
(<code><a href="Control-Lens-Operators.html#v:-60--60--126-"><<~</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s s a b -> m b -> m b
</pre><p>NB: This is limited to taking an actual <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> than admitting a <code><a href="Control-Lens-Traversal.html#v:Traversal">Traversal</a></code> because
there are potential loss of state issues otherwise.</p></div></div><div class="top"><p class="src"><a name="v:-60--60--62--126-" class="def">(<<>~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a> m => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> m) s t m m -> m -> s -> (m, t) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%3E~" class="link">Source</a></p><div class="doc"><p><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#v:mappend">mappend</a></code> a monoidal value onto the end of the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> and
return the result.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-60--62--126-"><>~</a></code>) is more flexible.</p></div></div><div class="top"><p class="src"><a name="v:-60--60--62--61-" class="def">(<<>=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a> r) => <a href="Control-Lens-Type.html#t:LensLike-39-">LensLike'</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> r) s r -> r -> m r <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%3E%3D" class="link">Source</a></p><div class="doc"><p><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#v:mappend">mappend</a></code> a monoidal value onto the end of the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into
your <code>Monad'</code>s state and return the result.</p><p>When you do not need the result of the operation, (<code><a href="Control-Lens-Setter.html#v:-60--62--61-"><>=</a></code>) is more flexible.</p></div></div><div class="top"><p class="src"><a name="v:-60--37--64--126-" class="def">(<%@~)</a> :: <a href="Control-Lens-Type.html#t:Over">Over</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> b) s t a b -> (i -> a -> b) -> s -> (b, t) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%25%40~" class="link">Source</a></p><div class="doc"><p>Adjust the target of an <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> returning the intermediate result, or
adjust all of the targets of an <code><a href="Control-Lens-Traversal.html#v:IndexedTraversal">IndexedTraversal</a></code> and return a monoidal summary
along with the answer.</p><pre>l <code><a href="Control-Lens-Operators.html#v:-60--37--126-"><%~</a></code> f ≡ l <code><a href="Control-Lens-Operators.html#v:-60--37--64--126-"><%@~</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Function.html#v:const">const</a></code> f
</pre><p>When you do not need access to the index then (<code><a href="Control-Lens-Operators.html#v:-60--37--126-"><%~</a></code>) is more liberal in what it can accept.</p><p>If you do not need the intermediate result, you can use (<code><a href="Control-Lens-Setter.html#v:-37--64--126-">%@~</a></code>) or even (<code><a href="Control-Lens-Setter.html#v:-37--126-">%~</a></code>).</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--37--64--126-"><%@~</a></code>) :: <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> i s t a b -> (i -> a -> b) -> s -> (b, t)
(<code><a href="Control-Lens-Operators.html#v:-60--37--64--126-"><%@~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> b => <code><a href="Control-Lens-Traversal.html#v:IndexedTraversal">IndexedTraversal</a></code> i s t a b -> (i -> a -> b) -> s -> (b, t)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--37--64--126-" class="def">(<<%@~)</a> :: <a href="Control-Lens-Type.html#t:Over">Over</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s t a b -> (i -> a -> b) -> s -> (a, t) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%25%40~" class="link">Source</a></p><div class="doc"><p>Adjust the target of an <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> returning the old value, or
adjust all of the targets of an <code><a href="Control-Lens-Traversal.html#v:IndexedTraversal">IndexedTraversal</a></code> and return a monoidal summary
of the old values along with the answer.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--37--64--126-"><<%@~</a></code>) :: <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> i s t a b -> (i -> a -> b) -> s -> (a, t)
(<code><a href="Control-Lens-Operators.html#v:-60--60--37--64--126-"><<%@~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> a => <code><a href="Control-Lens-Traversal.html#v:IndexedTraversal">IndexedTraversal</a></code> i s t a b -> (i -> a -> b) -> s -> (a, t)
</pre></div></div><div class="top"><p class="src"><a name="v:-37--37--64--126-" class="def">(%%@~)</a> :: <a href="Control-Lens-Type.html#t:IndexedLensLike">IndexedLensLike</a> i f s t a b -> (i -> a -> f b) -> s -> f t <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%25%25%40~" class="link">Source</a></p><div class="doc"><p>Adjust the target of an <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> returning a supplementary result, or
adjust all of the targets of an <code><a href="Control-Lens-Traversal.html#v:IndexedTraversal">IndexedTraversal</a></code> and return a monoidal summary
of the supplementary results and the answer.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-37--37--64--126-">%%@~</a></code>) ≡ <code><a href="Control-Lens-Indexed.html#v:withIndex">withIndex</a></code>
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-37--37--64--126-">%%@~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a></code> f => <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> i s t a b -> (i -> a -> f b) -> s -> f t
(<code><a href="Control-Lens-Operators.html#v:-37--37--64--126-">%%@~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Applicative.html#t:Applicative">Applicative</a></code> f => <code><a href="Control-Lens-Traversal.html#v:IndexedTraversal">IndexedTraversal</a></code> i s t a b -> (i -> a -> f b) -> s -> f t
</pre><p>In particular, it is often useful to think of this function as having one of these even more
restricted type signatures:</p><pre>(<code><a href="Control-Lens-Operators.html#v:-37--37--64--126-">%%@~</a></code>) :: <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> i s t a b -> (i -> a -> (r, b)) -> s -> (r, t)
(<code><a href="Control-Lens-Operators.html#v:-37--37--64--126-">%%@~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> r => <code><a href="Control-Lens-Traversal.html#v:IndexedTraversal">IndexedTraversal</a></code> i s t a b -> (i -> a -> (r, b)) -> s -> (r, t)
</pre></div></div><div class="top"><p class="src"><a name="v:-37--37--64--61-" class="def">(%%@=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:IndexedLensLike">IndexedLensLike</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> r) s s a b -> (i -> a -> (r, b)) -> m r <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%25%25%40%3D" class="link">Source</a></p><div class="doc"><p>Adjust the target of an <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> returning a supplementary result, or
adjust all of the targets of an <code><a href="Control-Lens-Traversal.html#v:IndexedTraversal">IndexedTraversal</a></code> within the current state, and
return a monoidal summary of the supplementary results.</p><pre>l <code><a href="Control-Lens-Operators.html#v:-37--37--64--61-">%%@=</a></code> f ≡ <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#v:state">state</a></code> (l <code><a href="Control-Lens-Operators.html#v:-37--37--64--126-">%%@~</a></code> f)
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-37--37--64--61-">%%@=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> i s s a b -> (i -> a -> (r, b)) -> s -> m r
(<code><a href="Control-Lens-Operators.html#v:-37--37--64--61-">%%@=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> r) => <code><a href="Control-Lens-Traversal.html#v:IndexedTraversal">IndexedTraversal</a></code> i s s a b -> (i -> a -> (r, b)) -> s -> m r
</pre></div></div><div class="top"><p class="src"><a name="v:-60--37--64--61-" class="def">(<%@=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:IndexedLensLike">IndexedLensLike</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> b) s s a b -> (i -> a -> b) -> m b <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%25%40%3D" class="link">Source</a></p><div class="doc"><p>Adjust the target of an <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> returning the intermediate result, or
adjust all of the targets of an <code><a href="Control-Lens-Traversal.html#v:IndexedTraversal">IndexedTraversal</a></code> within the current state, and
return a monoidal summary of the intermediate results.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--37--64--61-"><%@=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> i s s a b -> (i -> a -> b) -> m b
(<code><a href="Control-Lens-Operators.html#v:-60--37--64--61-"><%@=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> b) => <code><a href="Control-Lens-Traversal.html#v:IndexedTraversal">IndexedTraversal</a></code> i s s a b -> (i -> a -> b) -> m b
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60--37--64--61-" class="def">(<<%@=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Type.html#t:IndexedLensLike">IndexedLensLike</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.4.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> a) s s a b -> (i -> a -> b) -> m a <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%3C%25%40%3D" class="link">Source</a></p><div class="doc"><p>Adjust the target of an <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> returning the old value, or
adjust all of the targets of an <code><a href="Control-Lens-Traversal.html#v:IndexedTraversal">IndexedTraversal</a></code> within the current state, and
return a monoidal summary of the old values.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--60--37--64--61-"><<%@=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> i s s a b -> (i -> a -> b) -> m a
(<code><a href="Control-Lens-Operators.html#v:-60--60--37--64--61-"><<%@=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> b) => <code><a href="Control-Lens-Traversal.html#v:IndexedTraversal">IndexedTraversal</a></code> i s s a b -> (i -> a -> b) -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:-94--35-" class="def">(^#)</a> :: s -> <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s t a b -> a <span class="fixity">infixl 8</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%5E%23" class="link">Source</a></p><div class="doc"><p>A version of (<code><a href="Control-Lens-Getter.html#v:-94-.">^.</a></code>) that works on <code><a href="Control-Lens-Lens.html#t:ALens">ALens</a></code>.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>("hello","world")^#_2
</code></strong>"world"
</pre></div></div><div class="top"><p class="src"><a name="v:-35--126-" class="def">(#~)</a> :: <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s t a b -> b -> s -> t <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%23~" class="link">Source</a></p><div class="doc"><p>A version of (<code><a href="Control-Lens-Setter.html#v:.-126-">.~</a></code>) that works on <code><a href="Control-Lens-Lens.html#t:ALens">ALens</a></code>.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>("hello","there") & _2 #~ "world"
</code></strong>("hello","world")
</pre></div></div><div class="top"><p class="src"><a name="v:-35--37--126-" class="def">(#%~)</a> :: <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s t a b -> (a -> b) -> s -> t <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%23%25~" class="link">Source</a></p><div class="doc"><p>A version of (<code><a href="Control-Lens-Setter.html#v:-37--126-">%~</a></code>) that works on <code><a href="Control-Lens-Lens.html#t:ALens">ALens</a></code>.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>("hello","world") & _2 #%~ length
</code></strong>("hello",5)
</pre></div></div><div class="top"><p class="src"><a name="v:-35--37--37--126-" class="def">(#%%~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a> f => <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s t a b -> (a -> f b) -> s -> f t <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%23%25%25~" class="link">Source</a></p><div class="doc"><p>A version of (<code><a href="Control-Lens-Operators.html#v:-37--37--126-">%%~</a></code>) that works on <code><a href="Control-Lens-Lens.html#t:ALens">ALens</a></code>.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>("hello","world") & _2 #%%~ \x -> (length x, x ++ "!")
</code></strong>(5,("hello","world!"))
</pre></div></div><div class="top"><p class="src"><a name="v:-35--61-" class="def">(#=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s s a b -> b -> m () <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%23%3D" class="link">Source</a></p><div class="doc"><p>A version of (<code><a href="Control-Lens-Setter.html#v:.-61-">.=</a></code>) that works on <code><a href="Control-Lens-Lens.html#t:ALens">ALens</a></code>.</p></div></div><div class="top"><p class="src"><a name="v:-35--37--61-" class="def">(#%=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s s a b -> (a -> b) -> m () <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%23%25%3D" class="link">Source</a></p><div class="doc"><p>A version of (<code><a href="Control-Lens-Setter.html#v:-37--61-">%=</a></code>) that works on <code><a href="Control-Lens-Lens.html#t:ALens">ALens</a></code>.</p></div></div><div class="top"><p class="src"><a name="v:-60--35--37--126-" class="def">(<#%~)</a> :: <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s t a b -> (a -> b) -> s -> (b, t) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%23%25~" class="link">Source</a></p><div class="doc"><p>A version of (<code><a href="Control-Lens-Operators.html#v:-60--37--126-"><%~</a></code>) that works on <code><a href="Control-Lens-Lens.html#t:ALens">ALens</a></code>.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>("hello","world") & _2 <#%~ length
</code></strong>(5,("hello",5))
</pre></div></div><div class="top"><p class="src"><a name="v:-60--35--37--61-" class="def">(<#%=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s s a b -> (a -> b) -> m b <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%23%25%3D" class="link">Source</a></p><div class="doc"><p>A version of (<code><a href="Control-Lens-Operators.html#v:-60--37--61-"><%=</a></code>) that works on <code><a href="Control-Lens-Lens.html#t:ALens">ALens</a></code>.</p></div></div><div class="top"><p class="src"><a name="v:-35--37--37--61-" class="def">(#%%=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s s a b -> (a -> (r, b)) -> m r <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%23%25%25%3D" class="link">Source</a></p><div class="doc"><p>A version of (<code><a href="Control-Lens-Operators.html#v:-37--37--61-">%%=</a></code>) that works on <code><a href="Control-Lens-Lens.html#t:ALens">ALens</a></code>.</p></div></div><div class="top"><p class="src"><a name="v:-60--35--126-" class="def">(<#~)</a> :: <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s t a b -> b -> s -> (b, t) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%23~" class="link">Source</a></p><div class="doc"><p>A version of (<code><a href="Control-Lens-Setter.html#v:-60-.-126-"><.~</a></code>) that works on <code><a href="Control-Lens-Lens.html#t:ALens">ALens</a></code>.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>("hello","there") & _2 <#~ "world"
</code></strong>("world",("hello","world"))
</pre></div></div><div class="top"><p class="src"><a name="v:-60--35--61-" class="def">(<#=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Lens.html#t:ALens">ALens</a> s s a b -> b -> m b <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Lens.html#%3C%23%3D" class="link">Source</a></p><div class="doc"><p>A version of (<code><a href="Control-Lens-Setter.html#v:-60-.-61-"><.=</a></code>) that works on <code><a href="Control-Lens-Lens.html#t:ALens">ALens</a></code>.</p></div></div><h1 id="g:6"><a href="Control-Lens-Plated.html">Control.Lens.Plated</a></h1><div class="top"><p class="src"><a name="v:..." class="def">(...)</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Applicative.html#t:Applicative">Applicative</a> f, <a href="Control-Lens-Plated.html#t:Plated">Plated</a> c) => <a href="Control-Lens-Type.html#t:LensLike">LensLike</a> f s t c c -> <a href="Control-Lens-Type.html#t:Over">Over</a> p f c c a b -> <a href="Control-Lens-Type.html#t:Over">Over</a> p f s t a b <span class="fixity">infixr 9</span><span class="rightedge"></span> <a href="src/Control-Lens-Plated.html#..." class="link">Source</a></p><div class="doc"><p>Compose through a plate</p></div></div><h1 id="g:7"><a href="Control-Lens-Review.html">Control.Lens.Review</a></h1><div class="top"><p class="src"><a name="v:-35-" class="def">(#)</a> :: <a href="Control-Lens-Type.html#t:AReview">AReview</a> t b -> b -> t <span class="fixity">infixr 8</span><span class="rightedge"></span> <a href="src/Control-Lens-Review.html#%23" class="link">Source</a></p><div class="doc"><p>An infix alias for <code><a href="Control-Lens-Review.html#v:review">review</a></code>.</p><pre><code><a href="Control-Lens-Review.html#v:unto">unto</a></code> f # x ≡ f x
l # x ≡ x <code><a href="Control-Lens-Operators.html#v:-94-.">^.</a></code> <code><a href="Control-Lens-Review.html#v:re">re</a></code> l
</pre><p>This is commonly used when using a <code><a href="Control-Lens-Type.html#t:Prism">Prism</a></code> as a smart constructor.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>_Left # 4
</code></strong>Left 4
</pre><p>But it can be used for any <code><a href="Control-Lens-Type.html#t:Prism">Prism</a></code></p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>base 16 # 123
</code></strong>"7b"
</pre><pre>(#) :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> s
(#) :: <code><a href="Control-Lens-Type.html#t:Prism-39-">Prism'</a></code> s a -> a -> s
(#) :: <code><a href="Control-Lens-Type.html#t:Review">Review</a></code> s a -> a -> s
(#) :: <code><a href="Control-Lens-Type.html#t:Equality-39-">Equality'</a></code> s a -> a -> s
</pre></div></div><h1 id="g:8"><a href="Control-Lens-Setter.html">Control.Lens.Setter</a></h1><div class="top"><p class="src"><a name="v:-37--126-" class="def">(%~)</a> :: <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a b -> (a -> b) -> s -> t <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%25~" class="link">Source</a></p><div class="doc"><p>Modifies the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or all of the targets of a <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or
<code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> with a user supplied function.</p><p>This is an infix version of <code><a href="Control-Lens-Setter.html#v:over">over</a></code>.</p><pre><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#v:fmap">fmap</a></code> f ≡ <code><a href="Control-Lens-Setter.html#v:mapped">mapped</a></code> <code><a href="Control-Lens-Operators.html#v:-37--126-">%~</a></code> f
<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Traversable.html#v:fmapDefault">fmapDefault</a></code> f ≡ <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Traversable.html#v:traverse">traverse</a></code> <code><a href="Control-Lens-Operators.html#v:-37--126-">%~</a></code> f
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b,c) & _3 %~ f
</code></strong>(a,b,f c)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & both %~ f
</code></strong>(f a,f b)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>_2 %~ length $ (1,"hello")
</code></strong>(1,5)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>traverse %~ f $ [a,b,c]
</code></strong>[f a,f b,f c]
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>traverse %~ even $ [1,2,3]
</code></strong>[False,True,False]
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>traverse.traverse %~ length $ [["hello","world"],["!!!"]]
</code></strong>[[5,5],[3]]
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-37--126-">%~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> s t a b -> (a -> b) -> s -> t
(<code><a href="Control-Lens-Operators.html#v:-37--126-">%~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code> s t a b -> (a -> b) -> s -> t
(<code><a href="Control-Lens-Operators.html#v:-37--126-">%~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s t a b -> (a -> b) -> s -> t
(<code><a href="Control-Lens-Operators.html#v:-37--126-">%~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> s t a b -> (a -> b) -> s -> t
</pre></div></div><div class="top"><p class="src"><a name="v:.-126-" class="def">(.~)</a> :: <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a b -> b -> s -> t <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#.~" class="link">Source</a></p><div class="doc"><p>Replace the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or all of the targets of a <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code>
or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> with a constant value.</p><p>This is an infix version of <code><a href="Control-Lens-Setter.html#v:set">set</a></code>, provided for consistency with (<code><a href="Control-Lens-Operators.html#v:.-61-">.=</a></code>).</p><pre>f <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#v:-60--36-"><$</a></code> a ≡ <code><a href="Control-Lens-Setter.html#v:mapped">mapped</a></code> <code><a href="Control-Lens-Operators.html#v:.-126-">.~</a></code> f <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Function.html#v:-36-">$</a></code> a
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b,c,d) & _4 .~ e
</code></strong>(a,b,c,e)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(42,"world") & _1 .~ "hello"
</code></strong>("hello","world")
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & both .~ c
</code></strong>(c,c)
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:.-126-">.~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> s t a b -> b -> s -> t
(<code><a href="Control-Lens-Operators.html#v:.-126-">.~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code> s t a b -> b -> s -> t
(<code><a href="Control-Lens-Operators.html#v:.-126-">.~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s t a b -> b -> s -> t
(<code><a href="Control-Lens-Operators.html#v:.-126-">.~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> s t a b -> b -> s -> t
</pre></div></div><div class="top"><p class="src"><a name="v:-63--126-" class="def">(?~)</a> :: <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> b) -> b -> s -> t <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%3F~" class="link">Source</a></p><div class="doc"><p>Set the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> or <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> to <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#v:Just">Just</a></code> a value.</p><pre>l <code><a href="Control-Lens-Operators.html#v:-63--126-">?~</a></code> t ≡ <code><a href="Control-Lens-Setter.html#v:set">set</a></code> l (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#v:Just">Just</a></code> t)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>Nothing & id ?~ a
</code></strong>Just a
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>Map.empty & at 3 ?~ x
</code></strong>fromList [(3,x)]
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-63--126-">?~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> s t a (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> b) -> b -> s -> t
(<code><a href="Control-Lens-Operators.html#v:-63--126-">?~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code> s t a (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> b) -> b -> s -> t
(<code><a href="Control-Lens-Operators.html#v:-63--126-">?~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s t a (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> b) -> b -> s -> t
(<code><a href="Control-Lens-Operators.html#v:-63--126-">?~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> s t a (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> b) -> b -> s -> t
</pre></div></div><div class="top"><p class="src"><a name="v:-60-.-126-" class="def">(<.~)</a> :: <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a b -> b -> s -> (b, t) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%3C.~" class="link">Source</a></p><div class="doc"><p>Set with pass-through.</p><p>This is mostly present for consistency, but may be useful for chaining assignments.</p><p>If you do not need a copy of the intermediate result, then using <code>l <code><a href="Control-Lens-Operators.html#v:.-126-">.~</a></code> t</code> directly is a good idea.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & _1 <.~ c
</code></strong>(c,(c,b))
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>("good","morning","vietnam") & _3 <.~ "world"
</code></strong>("world",("good","morning","world"))
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(42,Map.fromList [("goodnight","gracie")]) & _2.at "hello" <.~ Just "world"
</code></strong>(Just "world",(42,fromList [("goodnight","gracie"),("hello","world")]))
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-60-.-126-"><.~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> s t a b -> b -> s -> (b, t)
(<code><a href="Control-Lens-Operators.html#v:-60-.-126-"><.~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code> s t a b -> b -> s -> (b, t)
(<code><a href="Control-Lens-Operators.html#v:-60-.-126-"><.~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s t a b -> b -> s -> (b, t)
(<code><a href="Control-Lens-Operators.html#v:-60-.-126-"><.~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> s t a b -> b -> s -> (b, t)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--63--126-" class="def">(<?~)</a> :: <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> b) -> b -> s -> (b, t) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%3C%3F~" class="link">Source</a></p><div class="doc"><p>Set to <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#v:Just">Just</a></code> a value with pass-through.</p><p>This is mostly present for consistency, but may be useful for for chaining assignments.</p><p>If you do not need a copy of the intermediate result, then using <code>l <code><a href="Control-Lens-Operators.html#v:-63--126-">?~</a></code> d</code> directly is a good idea.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>import Data.Map as Map
</code></strong><code class="prompt">>>> </code><strong class="userinput"><code>_2.at "hello" <?~ "world" $ (42,Map.fromList [("goodnight","gracie")])
</code></strong>("world",(42,fromList [("goodnight","gracie"),("hello","world")]))
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-60--63--126-"><?~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> s t a (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> b) -> b -> s -> (b, t)
(<code><a href="Control-Lens-Operators.html#v:-60--63--126-"><?~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code> s t a (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> b) -> b -> s -> (b, t)
(<code><a href="Control-Lens-Operators.html#v:-60--63--126-"><?~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s t a (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> b) -> b -> s -> (b, t)
(<code><a href="Control-Lens-Operators.html#v:-60--63--126-"><?~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> s t a (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> b) -> b -> s -> (b, t)
</pre></div></div><div class="top"><p class="src"><a name="v:-43--126-" class="def">(+~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a a -> a -> s -> t <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%2B~" class="link">Source</a></p><div class="doc"><p>Increment the target(s) of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & _1 +~ c
</code></strong>(a + c,b)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & both +~ c
</code></strong>(a + c,b + c)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(1,2) & _2 +~ 1
</code></strong>(1,3)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>[(a,b),(c,d)] & traverse.both +~ e
</code></strong>[(a + e,b + e),(c + e,d + e)]
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-43--126-">+~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s a -> a -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-43--126-">+~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-43--126-">+~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-43--126-">+~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> a -> s -> s
</pre></div></div><div class="top"><p class="src"><a name="v:-42--126-" class="def">(*~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a a -> a -> s -> t <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%2A~" class="link">Source</a></p><div class="doc"><p>Multiply the target(s) of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & _1 *~ c
</code></strong>(a * c,b)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & both *~ c
</code></strong>(a * c,b * c)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(1,2) & _2 *~ 4
</code></strong>(1,8)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>Just 24 & mapped *~ 2
</code></strong>Just 48
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-42--126-">*~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s a -> a -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-42--126-">*~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-42--126-">*~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-42--126-">*~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> a -> s -> s
</pre></div></div><div class="top"><p class="src"><a name="v:-45--126-" class="def">(-~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a a -> a -> s -> t <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#-~" class="link">Source</a></p><div class="doc"><p>Decrement the target(s) of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & _1 -~ c
</code></strong>(a - c,b)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & both -~ c
</code></strong>(a - c,b - c)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>_1 -~ 2 $ (1,2)
</code></strong>(-1,2)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>mapped.mapped -~ 1 $ [[4,5],[6,7]]
</code></strong>[[3,4],[5,6]]
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-45--126-">-~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s a -> a -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-45--126-">-~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-45--126-">-~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-45--126-">-~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> a -> s -> s
</pre></div></div><div class="top"><p class="src"><a name="v:-47--47--126-" class="def">(//~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a a -> a -> s -> t <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%2F%2F~" class="link">Source</a></p><div class="doc"><p>Divide the target(s) of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & _1 //~ c
</code></strong>(a / c,b)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & both //~ c
</code></strong>(a / c,b / c)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>("Hawaii",10) & _2 //~ 2
</code></strong>("Hawaii",5.0)
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-47--47--126-">//~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s a -> a -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-47--47--126-">//~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-47--47--126-">//~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-47--47--126-">//~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> a -> s -> s
</pre></div></div><div class="top"><p class="src"><a name="v:-94--126-" class="def">(^~)</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a a -> e -> s -> t <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%5E~" class="link">Source</a></p><div class="doc"><p>Raise the target(s) of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> to a non-negative integral power.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(1,3) & _2 ^~ 2
</code></strong>(1,9)
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-94--126-">^~</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s a -> e -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-94--126-">^~</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> e -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-94--126-">^~</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> e -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-94--126-">^~</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> e -> s -> s
</pre></div></div><div class="top"><p class="src"><a name="v:-94--94--126-" class="def">(^^~)</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a a -> e -> s -> t <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%5E%5E~" class="link">Source</a></p><div class="doc"><p>Raise the target(s) of a fractionally valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> to an integral power.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(1,2) & _2 ^^~ (-1)
</code></strong>(1,0.5)
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-94--94--126-">^^~</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s a -> e -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-94--94--126-">^^~</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> e -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-94--94--126-">^^~</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> e -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-94--94--126-">^^~</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> e -> s -> s
</pre></div></div><div class="top"><p class="src"><a name="v:-42--42--126-" class="def">(**~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a> a => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a a -> a -> s -> t <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%2A%2A~" class="link">Source</a></p><div class="doc"><p>Raise the target(s) of a floating-point valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> to an arbitrary power.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & _1 **~ c
</code></strong>(a**c,b)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(a,b) & both **~ c
</code></strong>(a**c,b**c)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>_2 **~ 10 $ (3,2)
</code></strong>(3,1024.0)
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-42--42--126-">**~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a></code> a => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s a -> a -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-42--42--126-">**~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a></code> a => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-42--42--126-">**~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a></code> a => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-42--42--126-">**~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a></code> a => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> a -> s -> s
</pre></div></div><div class="top"><p class="src"><a name="v:-124--124--126-" class="def">(||~)</a> :: <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> s -> t <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%7C%7C~" class="link">Source</a></p><div class="doc"><p>Logically <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#v:-124--124-">||</a></code> the target(s) of a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code>-valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code>.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>both ||~ True $ (False,True)
</code></strong>(True,True)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>both ||~ False $ (False,True)
</code></strong>(False,True)
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-124--124--126-">||~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-124--124--126-">||~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-124--124--126-">||~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-124--124--126-">||~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> s
</pre></div></div><div class="top"><p class="src"><a name="v:-38--38--126-" class="def">(&&~)</a> :: <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> s -> t <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%26%26~" class="link">Source</a></p><div class="doc"><p>Logically <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#v:-38--38-">&&</a></code> the target(s) of a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code>-valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code>.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>both &&~ True $ (False, True)
</code></strong>(False,True)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>both &&~ False $ (False, True)
</code></strong>(False,False)
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-38--38--126-">&&~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-38--38--126-">&&~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-38--38--126-">&&~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> s
(<code><a href="Control-Lens-Operators.html#v:-38--38--126-">&&~</a></code>) :: <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> s -> s
</pre></div></div><div class="top"><p class="src"><a name="v:.-61-" class="def">(.=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s s a b -> b -> m () <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#.%3D" class="link">Source</a></p><div class="doc"><p>Replace the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or all of the targets of a <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code>
or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> in our monadic state with a new value, irrespective of the
old.</p><p>This is an infix version of <code><a href="Control-Lens-Setter.html#v:assign">assign</a></code>.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>execState (do _1 .= c; _2 .= d) (a,b)
</code></strong>(c,d)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>execState (both .= c) (a,b)
</code></strong>(c,c)
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:.-61-">.=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:.-61-">.=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:.-61-">.=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:.-61-">.=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s a -> a -> m ()
</pre><p><em>It puts the state in the monad or it gets the hose again.</em></p></div></div><div class="top"><p class="src"><a name="v:-37--61-" class="def">(%=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s s a b -> (a -> b) -> m () <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%25%3D" class="link">Source</a></p><div class="doc"><p>Map over the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or all of the targets of a <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> in our monadic state.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>execState (do _1 %= f;_2 %= g) (a,b)
</code></strong>(f a,g b)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>execState (do both %= f) (a,b)
</code></strong>(f a,f b)
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-37--61-">%=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> (a -> a) -> m ()
(<code><a href="Control-Lens-Operators.html#v:-37--61-">%=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> (a -> a) -> m ()
(<code><a href="Control-Lens-Operators.html#v:-37--61-">%=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> (a -> a) -> m ()
(<code><a href="Control-Lens-Operators.html#v:-37--61-">%=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s a -> (a -> a) -> m ()
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-37--61-">%=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Setter.html#t:ASetter">ASetter</a></code> s s a b -> (a -> b) -> m ()
</pre></div></div><div class="top"><p class="src"><a name="v:-63--61-" class="def">(?=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s s a (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> b) -> b -> m () <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%3F%3D" class="link">Source</a></p><div class="doc"><p>Replace the target of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or all of the targets of a <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> in our monadic
state with <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#v:Just">Just</a></code> a new value, irrespective of the old.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>execState (do at 1 ?= a; at 2 ?= b) Map.empty
</code></strong>fromList [(1,a),(2,b)]
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>execState (do _1 ?= b; _2 ?= c) (Just a, Nothing)
</code></strong>(Just b,Just c)
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-63--61-">?=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a) -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-63--61-">?=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a) -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-63--61-">?=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a) -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-63--61-">?=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> a) -> a -> m ()
</pre></div></div><div class="top"><p class="src"><a name="v:-43--61-" class="def">(+=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a) => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s a -> a -> m () <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%2B%3D" class="link">Source</a></p><div class="doc"><p>Modify the target(s) of a <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code>, <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> by adding a value.</p><p>Example:</p><pre><code>fresh</code> :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a></code> m => m <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a></code>
<code>fresh</code> = do
<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Function.html#v:id">id</a></code> <code><a href="Control-Lens-Operators.html#v:-43--61-">+=</a></code> 1
<code><a href="Control-Lens-Getter.html#v:use">use</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Function.html#v:id">id</a></code>
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>execState (do _1 += c; _2 += d) (a,b)
</code></strong>(a + c,b + d)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>execState (do _1.at 1.non 0 += 10) (Map.fromList [(2,100)],"hello")
</code></strong>(fromList [(1,10),(2,100)],"hello")
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-43--61-">+=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-43--61-">+=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-43--61-">+=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-43--61-">+=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> a -> m ()
</pre></div></div><div class="top"><p class="src"><a name="v:-45--61-" class="def">(-=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a) => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s a -> a -> m () <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#-%3D" class="link">Source</a></p><div class="doc"><p>Modify the target(s) of a <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code>, <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> by subtracting a value.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>execState (do _1 -= c; _2 -= d) (a,b)
</code></strong>(a - c,b - d)
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-45--61-">-=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-45--61-">-=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-45--61-">-=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-45--61-">-=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> a -> m ()
</pre></div></div><div class="top"><p class="src"><a name="v:-42--61-" class="def">(*=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a) => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s a -> a -> m () <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%2A%3D" class="link">Source</a></p><div class="doc"><p>Modify the target(s) of a <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code>, <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> by multiplying by value.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>execState (do _1 *= c; _2 *= d) (a,b)
</code></strong>(a * c,b * d)
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-42--61-">*=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-42--61-">*=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-42--61-">*=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-42--61-">*=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a) => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> a -> m ()
</pre></div></div><div class="top"><p class="src"><a name="v:-47--47--61-" class="def">(//=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a) => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s a -> a -> m () <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%2F%2F%3D" class="link">Source</a></p><div class="doc"><p>Modify the target(s) of a <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code>, <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> by dividing by a value.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>execState (do _1 //= c; _2 //= d) (a,b)
</code></strong>(a / c,b / d)
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-47--47--61-">//=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a) => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-47--47--61-">//=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-47--47--61-">//=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-47--47--61-">//=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a) => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> a -> m ()
</pre></div></div><div class="top"><p class="src"><a name="v:-94--61-" class="def">(^=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s a -> e -> m () <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%5E%3D" class="link">Source</a></p><div class="doc"><p>Raise the target(s) of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> to a non-negative integral power.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-94--61-">^=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s a -> e -> m ()
(<code><a href="Control-Lens-Operators.html#v:-94--61-">^=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> e -> m ()
(<code><a href="Control-Lens-Operators.html#v:-94--61-">^=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> e -> m ()
(<code><a href="Control-Lens-Operators.html#v:-94--61-">^=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> e -> m ()
</pre></div></div><div class="top"><p class="src"><a name="v:-94--94--61-" class="def">(^^=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> e) => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s a -> e -> m () <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%5E%5E%3D" class="link">Source</a></p><div class="doc"><p>Raise the target(s) of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> to an integral power.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-94--94--61-">^^=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s a -> e -> m ()
(<code><a href="Control-Lens-Operators.html#v:-94--94--61-">^^=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> e -> m ()
(<code><a href="Control-Lens-Operators.html#v:-94--94--61-">^^=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> e -> m ()
(<code><a href="Control-Lens-Operators.html#v:-94--94--61-">^^=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Fractional">Fractional</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a></code> e) => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> e -> m ()
</pre></div></div><div class="top"><p class="src"><a name="v:-42--42--61-" class="def">(**=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a> a) => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s a -> a -> m () <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%2A%2A%3D" class="link">Source</a></p><div class="doc"><p>Raise the target(s) of a numerically valued <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> to an arbitrary power</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>execState (do _1 **= c; _2 **= d) (a,b)
</code></strong>(a**c,b**d)
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-42--42--61-">**=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a></code> a) => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-42--42--61-">**=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a></code> a) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-42--42--61-">**=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-42--42--61-">**=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Floating">Floating</a></code> a) => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> a -> m ()
</pre></div></div><div class="top"><p class="src"><a name="v:-38--38--61-" class="def">(&&=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> m () <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%26%26%3D" class="link">Source</a></p><div class="doc"><p>Modify the target(s) of a <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code>, <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> by taking their logical <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#v:-38--38-">&&</a></code> with a value.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>execState (do _1 &&= True; _2 &&= False; _3 &&= True; _4 &&= False) (True,True,False,False)
</code></strong>(True,False,False,False)
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-38--38--61-">&&=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> m ()
(<code><a href="Control-Lens-Operators.html#v:-38--38--61-">&&=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> m ()
(<code><a href="Control-Lens-Operators.html#v:-38--38--61-">&&=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> m ()
(<code><a href="Control-Lens-Operators.html#v:-38--38--61-">&&=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> m ()
</pre></div></div><div class="top"><p class="src"><a name="v:-124--124--61-" class="def">(||=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> -> m () <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%7C%7C%3D" class="link">Source</a></p><div class="doc"><p>Modify the target(s) of a <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code>, 'Iso, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> by taking their logical <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#v:-124--124-">||</a></code> with a value.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>execState (do _1 ||= True; _2 ||= False; _3 ||= True; _4 ||= False) (True,True,False,False)
</code></strong>(True,True,True,False)
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-124--124--61-">||=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> m ()
(<code><a href="Control-Lens-Operators.html#v:-124--124--61-">||=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> m ()
(<code><a href="Control-Lens-Operators.html#v:-124--124--61-">||=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> m ()
(<code><a href="Control-Lens-Operators.html#v:-124--124--61-">||=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a></code> -> m ()
</pre></div></div><div class="top"><p class="src"><a name="v:-60--126-" class="def">(<~)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s s a b -> m b -> m () <span class="fixity">infixr 2</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%3C~" class="link">Source</a></p><div class="doc"><p>Run a monadic action, and set all of the targets of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> to its result.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--126-"><~</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code> s s a b -> m b -> m ()
(<code><a href="Control-Lens-Operators.html#v:-60--126-"><~</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s s a b -> m b -> m ()
(<code><a href="Control-Lens-Operators.html#v:-60--126-"><~</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> s s a b -> m b -> m ()
(<code><a href="Control-Lens-Operators.html#v:-60--126-"><~</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> s s a b -> m b -> m ()
</pre><p>As a reasonable mnemonic, this lets you store the result of a monadic action in a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> rather than
in a local variable.</p><pre>do foo <- bar
...
</pre><p>will store the result in a variable, while</p><pre>do foo <code><a href="Control-Lens-Operators.html#v:-60--126-"><~</a></code> bar
...
</pre><p>will store the result in a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code>, or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>.</p></div></div><div class="top"><p class="src"><a name="v:-60-.-61-" class="def">(<.=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s s a b -> b -> m b <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%3C.%3D" class="link">Source</a></p><div class="doc"><p>Set with pass-through</p><p>This is useful for chaining assignment without round-tripping through your <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:Monad">Monad</a></code> stack.</p><pre>do x <- <code><a href="Control-Lens-Tuple.html#v:_2">_2</a></code> <code><a href="Control-Lens-Operators.html#v:-60-.-61-"><.=</a></code> ninety_nine_bottles_of_beer_on_the_wall
</pre><p>If you do not need a copy of the intermediate result, then using <code>l <code><a href="Control-Lens-Operators.html#v:.-61-">.=</a></code> d</code> will avoid unused binding warnings.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60-.-61-"><.=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> s s a b -> b -> m b
(<code><a href="Control-Lens-Operators.html#v:-60-.-61-"><.=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code> s s a b -> b -> m b
(<code><a href="Control-Lens-Operators.html#v:-60-.-61-"><.=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s s a b -> b -> m b
(<code><a href="Control-Lens-Operators.html#v:-60-.-61-"><.=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> s s a b -> b -> m b
</pre></div></div><div class="top"><p class="src"><a name="v:-60--63--61-" class="def">(<?=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s s a (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a> b) -> b -> m b <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%3C%3F%3D" class="link">Source</a></p><div class="doc"><p>Set <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#v:Just">Just</a></code> a value with pass-through</p><p>This is useful for chaining assignment without round-tripping through your <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:Monad">Monad</a></code> stack.</p><pre>do x <- <code><a href="Control-Lens-At.html#v:at">at</a></code> "foo" <code><a href="Control-Lens-Operators.html#v:-60--63--61-"><?=</a></code> ninety_nine_bottles_of_beer_on_the_wall
</pre><p>If you do not need a copy of the intermediate result, then using <code>l <code><a href="Control-Lens-Operators.html#v:-63--61-">?=</a></code> d</code> will avoid unused binding warnings.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-60--63--61-"><?=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> s s a (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> b) -> b -> m b
(<code><a href="Control-Lens-Operators.html#v:-60--63--61-"><?=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code> s s a (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> b) -> b -> m b
(<code><a href="Control-Lens-Operators.html#v:-60--63--61-"><?=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s s a (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> b) -> b -> m b
(<code><a href="Control-Lens-Operators.html#v:-60--63--61-"><?=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> s s a (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Maybe.html#t:Maybe">Maybe</a></code> b) -> b -> m b
</pre></div></div><div class="top"><p class="src"><a name="v:-60--62--126-" class="def">(<>~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a> a => <a href="Control-Lens-Setter.html#t:ASetter">ASetter</a> s t a a -> a -> s -> t <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%3C%3E~" class="link">Source</a></p><div class="doc"><p>Modify the target of a monoidally valued by <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#v:mappend">mappend</a></code>ing another value.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(Sum a,b) & _1 <>~ Sum c
</code></strong>(Sum {getSum = a + c},b)
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(Sum a,Sum b) & both <>~ Sum c
</code></strong>(Sum {getSum = a + c},Sum {getSum = b + c})
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>both <>~ "!!!" $ ("hello","world")
</code></strong>("hello!!!","world!!!")
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-60--62--126-"><>~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> a => <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> s t a a -> a -> s -> t
(<code><a href="Control-Lens-Operators.html#v:-60--62--126-"><>~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> a => <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code> s t a a -> a -> s -> t
(<code><a href="Control-Lens-Operators.html#v:-60--62--126-"><>~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> a => <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s t a a -> a -> s -> t
(<code><a href="Control-Lens-Operators.html#v:-60--62--126-"><>~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> a => <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> s t a a -> a -> s -> t
</pre></div></div><div class="top"><p class="src"><a name="v:-60--62--61-" class="def">(<>=)</a> :: (<a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a> a) => <a href="Control-Lens-Setter.html#t:ASetter-39-">ASetter'</a> s a -> a -> m () <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%3C%3E%3D" class="link">Source</a></p><div class="doc"><p>Modify the target(s) of a <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code>, <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code>, <code><a href="Control-Lens-Type.html#t:Setter">Setter</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> by <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#v:mappend">mappend</a></code>ing a value.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>execState (do _1 <>= Sum c; _2 <>= Product d) (Sum a,Product b)
</code></strong>(Sum {getSum = a + c},Product {getProduct = b * d})
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>execState (both <>= "!!!") ("hello","world")
</code></strong>("hello!!!","world!!!")
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-60--62--61-"><>=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> a) => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-60--62--61-"><>=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> a) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-60--62--61-"><>=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m ()
(<code><a href="Control-Lens-Operators.html#v:-60--62--61-"><>=</a></code>) :: (<code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a></code> a) => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> a -> m ()
</pre></div></div><div class="top"><p class="src"><a name="v:-37--64--126-" class="def">(%@~)</a> :: <a href="Control-Lens-Setter.html#t:AnIndexedSetter">AnIndexedSetter</a> i s t a b -> (i -> a -> b) -> s -> t <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%25%40~" class="link">Source</a></p><div class="doc"><p>Adjust every target of an <code><a href="Control-Lens-Type.html#t:IndexedSetter">IndexedSetter</a></code>, <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code>
with access to the index.</p><pre>(<code><a href="Control-Lens-Operators.html#v:-37--64--126-">%@~</a></code>) ≡ <code><a href="Control-Lens-Setter.html#v:iover">iover</a></code>
</pre><p>When you do not need access to the index then (<code><a href="Control-Lens-Operators.html#v:-37--126-">%~</a></code>) is more liberal in what it can accept.</p><pre>l <code><a href="Control-Lens-Operators.html#v:-37--126-">%~</a></code> f ≡ l <code><a href="Control-Lens-Operators.html#v:-37--64--126-">%@~</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Function.html#v:const">const</a></code> f
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-37--64--126-">%@~</a></code>) :: <code><a href="Control-Lens-Type.html#t:IndexedSetter">IndexedSetter</a></code> i s t a b -> (i -> a -> b) -> s -> t
(<code><a href="Control-Lens-Operators.html#v:-37--64--126-">%@~</a></code>) :: <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> i s t a b -> (i -> a -> b) -> s -> t
(<code><a href="Control-Lens-Operators.html#v:-37--64--126-">%@~</a></code>) :: <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> i s t a b -> (i -> a -> b) -> s -> t
</pre></div></div><div class="top"><p class="src"><a name="v:-37--64--61-" class="def">(%@=)</a> :: <a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a> s m => <a href="Control-Lens-Setter.html#t:AnIndexedSetter">AnIndexedSetter</a> i s s a b -> (i -> a -> b) -> m () <span class="fixity">infix 4</span><span class="rightedge"></span> <a href="src/Control-Lens-Setter.html#%25%40%3D" class="link">Source</a></p><div class="doc"><p>Adjust every target in the current state of an <code><a href="Control-Lens-Type.html#t:IndexedSetter">IndexedSetter</a></code>, <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> or <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code>
with access to the index.</p><p>When you do not need access to the index then (<code><a href="Control-Lens-Operators.html#v:-37--61-">%=</a></code>) is more liberal in what it can accept.</p><pre>l <code><a href="Control-Lens-Operators.html#v:-37--61-">%=</a></code> f ≡ l <code><a href="Control-Lens-Operators.html#v:-37--64--61-">%@=</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Function.html#v:const">const</a></code> f
</pre><pre>(<code><a href="Control-Lens-Operators.html#v:-37--64--61-">%@=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:IndexedSetter">IndexedSetter</a></code> i s s a b -> (i -> a -> b) -> m ()
(<code><a href="Control-Lens-Operators.html#v:-37--64--61-">%@=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:IndexedLens">IndexedLens</a></code> i s s a b -> (i -> a -> b) -> m ()
(<code><a href="Control-Lens-Operators.html#v:-37--64--61-">%@=</a></code>) :: <code><a href="file:///usr/share/doc/libghc-mtl-doc/html/Control-Monad-State-Class.html#t:MonadState">MonadState</a></code> s m => <code><a href="Control-Lens-Type.html#t:IndexedTraversal">IndexedTraversal</a></code> i s t a b -> (i -> a -> b) -> m ()
</pre></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.1</p></div></body></html>
|