/usr/share/doc/libghc-lens-doc/html/Data-Bits-Lens.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 | <!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>Data.Bits.Lens</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_Data-Bits-Lens.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Data-Bits-Lens.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>LiberalTypeSynonyms</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Data.Bits.Lens</p></div><div id="description"><p class="caption">Description</p><div class="doc empty"> </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:.-124-.-126-">(.|.~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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:.-38-.-126-">(.&.~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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-.-124-.-126-">(<.|.~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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-.-38-.-126-">(<.&.~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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--60-.-124-.-126-">(<<.|.~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a> a => <a href="Control-Lens-Type.html#t:Optical-39-">Optical'</a> (->) q (<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 -> q s (a, s)</li><li class="src short"><a href="#v:-60--60-.-38-.-126-">(<<.&.~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a> a => <a href="Control-Lens-Type.html#t:Optical-39-">Optical'</a> (->) q (<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 -> q s (a, s)</li><li class="src short"><a href="#v:.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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-.-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-Bits.html#t:Bits">Bits</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:-60-.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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-.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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-.-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-Bits.html#t:Bits">Bits</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-.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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:bitAt">bitAt</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a> b => <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a> -> <a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a> b <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:bits">bits</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> b, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a> b) => <a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a> b <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:byteAt">byteAt</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> b, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a> b) => <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a> -> <a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a> b <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Word.html#t:Word8">Word8</a></li><li class="src short"><a href="#v:bytewise">bytewise</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> b, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a> b) => <a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a> b <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Word.html#t:Word8">Word8</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:.-124-.-126-" class="def">(.|.~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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/Data-Bits-Lens.html#.%7C.~" class="link">Source</a></p><div class="doc"><p>Bitwise <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#v:.-124-.">.|.</a></code> the target(s) of a <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>_2 .|.~ 6 $ ("hello",3)
</code></strong>("hello",7)
</pre><pre>(<code><a href="Data-Bits-Lens.html#v:.-124-.-126-">.|.~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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="Data-Bits-Lens.html#v:.-124-.-126-">.|.~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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="Data-Bits-Lens.html#v:.-124-.-126-">.|.~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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="Data-Bits-Lens.html#v:.-124-.-126-">.|.~</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> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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:.-38-.-126-" class="def">(.&.~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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/Data-Bits-Lens.html#.%26.~" class="link">Source</a></p><div class="doc"><p>Bitwise <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#v:.-38-.">.&.</a></code> the target(s) of a <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>_2 .&.~ 7 $ ("hello",254)
</code></strong>("hello",6)
</pre><pre>(<code><a href="Data-Bits-Lens.html#v:.-38-.-126-">.&.~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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="Data-Bits-Lens.html#v:.-38-.-126-">.&.~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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="Data-Bits-Lens.html#v:.-38-.-126-">.&.~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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="Data-Bits-Lens.html#v:.-38-.-126-">.&.~</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> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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-.-124-.-126-" class="def">(<.|.~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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/Data-Bits-Lens.html#%3C.%7C.~" class="link">Source</a></p><div class="doc"><p>Bitwise <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#v:.-124-.">.|.</a></code> the target(s) of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> (or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>), returning the result
(or a monoidal summary of all of the results).</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>_2 <.|.~ 6 $ ("hello",3)
</code></strong>(7,("hello",7))
</pre><pre>(<code><a href="Data-Bits-Lens.html#v:-60-.-124-.-126-"><.|.~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a></code> a => <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code> s t a a -> a -> s -> (a, t)
(<code><a href="Data-Bits-Lens.html#v:-60-.-124-.-126-"><.|.~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a></code> a => <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s t a a -> a -> s -> (a, t)
(<code><a href="Data-Bits-Lens.html#v:-60-.-124-.-126-"><.|.~</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#v:Monoid">Monoid</a></code> a) => <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> s t a a -> a -> s -> (a, t)
</pre></div></div><div class="top"><p class="src"><a name="v:-60-.-38-.-126-" class="def">(<.&.~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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/Data-Bits-Lens.html#%3C.%26.~" class="link">Source</a></p><div class="doc"><p>Bitwise <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#v:.-38-.">.&.</a></code> the target(s) of a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>, returning the result
(or a monoidal summary of all of the results).</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>_2 <.&.~ 7 $ ("hello",254)
</code></strong>(6,("hello",6))
</pre><pre>(<code><a href="Data-Bits-Lens.html#v:-60-.-38-.-126-"><.&.~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a></code> a => <code><a href="Control-Lens-Type.html#t:Iso">Iso</a></code> s t a a -> a -> s -> (a, t)
(<code><a href="Data-Bits-Lens.html#v:-60-.-38-.-126-"><.&.~</a></code>) :: <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a></code> a => <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> s t a a -> a -> s -> (a, t)
(<code><a href="Data-Bits-Lens.html#v:-60-.-38-.-126-"><.&.~</a></code>) :: (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#v:Monoid">Monoid</a></code> a) => <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code> s t a a -> a -> s -> (a, t)
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60-.-124-.-126-" class="def">(<<.|.~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a> a => <a href="Control-Lens-Type.html#t:Optical-39-">Optical'</a> (->) q (<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 -> q s (a, s) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Data-Bits-Lens.html#%3C%3C.%7C.~" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:-60--60-.-38-.-126-" class="def">(<<.&.~)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a> a => <a href="Control-Lens-Type.html#t:Optical-39-">Optical'</a> (->) q (<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 -> q s (a, s) <span class="fixity">infixr 4</span><span class="rightedge"></span> <a href="src/Data-Bits-Lens.html#%3C%3C.%26.~" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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/Data-Bits-Lens.html#.%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>, <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 computing its bitwise <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#v:.-124-.">.|.</a></code> with another value.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>execState (do _1 .|.= 15; _2 .|.= 3) (7,7)
</code></strong>(15,7)
</pre><pre>(<code><a href="Data-Bits-Lens.html#v:.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a></code> a) => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s a -> a -> m ()
(<code><a href="Data-Bits-Lens.html#v:.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a></code> a) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> m ()
(<code><a href="Data-Bits-Lens.html#v:.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m ()
(<code><a href="Data-Bits-Lens.html#v:.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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-.-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-Bits.html#t:Bits">Bits</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/Data-Bits-Lens.html#.%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:Setter-39-">Setter'</a></code> or <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> by computing its bitwise <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#v:.-38-.">.&.</a></code> with another value.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>execState (do _1 .&.= 15; _2 .&.= 3) (7,7)
</code></strong>(7,3)
</pre><pre>(<code><a href="Data-Bits-Lens.html#v:.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a></code> a) => <code><a href="Control-Lens-Type.html#t:Setter-39-">Setter'</a></code> s a -> a -> m ()
(<code><a href="Data-Bits-Lens.html#v:.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a></code> a) => <code><a href="Control-Lens-Type.html#t:Iso-39-">Iso'</a></code> s a -> a -> m ()
(<code><a href="Data-Bits-Lens.html#v:.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m ()
(<code><a href="Data-Bits-Lens.html#v:.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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:-60-.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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/Data-Bits-Lens.html#%3C.%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>, (or <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>) by computing its bitwise <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#v:.-124-.">.|.</a></code> with another value,
returning the result (or a monoidal summary of all of the results traversed).</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>runState (_1 <.|.= 7) (28,0)
</code></strong>(31,(31,0))
</pre><pre>(<code><a href="Data-Bits-Lens.html#v:-60-.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m a
(<code><a href="Data-Bits-Lens.html#v:-60-.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#v:Monoid">Monoid</a></code> a) => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> a -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:-60-.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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/Data-Bits-Lens.html#%3C.%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> (or <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code>) by computing its bitwise <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#v:.-38-.">.&.</a></code> with another value,
returning the result (or a monoidal summary of all of the results traversed).</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>runState (_1 <.&.= 15) (31,0)
</code></strong>(15,(15,0))
</pre><pre>(<code><a href="Data-Bits-Lens.html#v:-60-.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a></code> a) => <code><a href="Control-Lens-Type.html#t:Lens-39-">Lens'</a></code> s a -> a -> m a
(<code><a href="Data-Bits-Lens.html#v:-60-.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a></code> a, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#v:Monoid">Monoid</a></code> a) => <code><a href="Control-Lens-Type.html#t:Traversal-39-">Traversal'</a></code> s a -> a -> m a
</pre></div></div><div class="top"><p class="src"><a name="v:-60--60-.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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/Data-Bits-Lens.html#%3C%3C.%7C.%3D" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:-60--60-.-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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</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/Data-Bits-Lens.html#%3C%3C.%26.%3D" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:bitAt" class="def">bitAt</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a> b => <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a> -> <a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a> b <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Data-Bits-Lens.html#bitAt" class="link">Source</a></p><div class="doc"><p>This <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> can be used to access the value of the nth bit in a number.</p><p><code><code><a href="Data-Bits-Lens.html#v:bitAt">bitAt</a></code> n</code> is only a legal <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into <code>b</code> if <code>0 <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Ord.html#v:-60--61-"><=</a></code> n <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Ord.html#v:-60-"><</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#v:bitSize">bitSize</a></code> (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#v:undefined">undefined</a></code> :: b)</code>.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>16^.bitAt 4
</code></strong>True
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>15^.bitAt 4
</code></strong>False
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>15 & bitAt 4 .~ True
</code></strong>31
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>16 & bitAt 4 .~ False
</code></strong>0
</pre></div></div><div class="top"><p class="src"><a name="v:bits" class="def">bits</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Num">Num</a> b, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a> b) => <a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a> b <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bool.html#t:Bool">Bool</a> <a href="src/Data-Bits-Lens.html#bits" class="link">Source</a></p><div class="doc"><p>Traverse over all bits in a numeric type.</p><p>The bit position is available as the index.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>toListOf bits (5 :: Word8)
</code></strong>[True,False,True,False,False,False,False,False]
</pre><p>If you supply this an <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a></code>, the result will be an infinite <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>, which
can be productively consumed, but not reassembled.</p></div></div><div class="top"><p class="src"><a name="v:byteAt" class="def">byteAt</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> b, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a> b) => <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a> -> <a href="Control-Lens-Type.html#t:IndexedLens-39-">IndexedLens'</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a> b <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Word.html#t:Word8">Word8</a> <a href="src/Data-Bits-Lens.html#byteAt" class="link">Source</a></p><div class="doc"><p>Get the nth byte, counting from the low end.</p><p><code><code><a href="Data-Bits-Lens.html#v:byteAt">byteAt</a></code> n</code> is a legal <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code> into <code>b</code> iff <code>0 <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Ord.html#v:-60--61-"><=</a></code> n <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Ord.html#v:-60-"><</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#v:div">div</a></code> (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#v:bitSize">bitSize</a></code> (<code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#v:undefined">undefined</a></code> :: b)) 8</code></p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(0xff00 :: Word16)^.byteAt 0
</code></strong>0
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>(0xff00 :: Word16)^.byteAt 1
</code></strong>255
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>byteAt 1 .~ 0 $ 0xff00 :: Word16
</code></strong>0
</pre><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>byteAt 0 .~ 0xff $ 0 :: Word16
</code></strong>255
</pre></div></div><div class="top"><p class="src"><a name="v:bytewise" class="def">bytewise</a> :: (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integral">Integral</a> b, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Bits.html#t:Bits">Bits</a> b) => <a href="Control-Lens-Type.html#t:IndexedTraversal-39-">IndexedTraversal'</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Int.html#t:Int">Int</a> b <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Word.html#t:Word8">Word8</a> <a href="src/Data-Bits-Lens.html#bytewise" class="link">Source</a></p><div class="doc"><p>Traverse over all the bytes in an integral type, from the low end.</p><p>The byte position is available as the index.</p><pre class="screen"><code class="prompt">>>> </code><strong class="userinput"><code>toListOf bytewise (1312301580 :: Word32)
</code></strong>[12,34,56,78]
</pre><p>If you supply this an <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Prelude.html#t:Integer">Integer</a></code>, the result will be an infinite <code><a href="Control-Lens-Type.html#t:Traversal">Traversal</a></code>,
which can be productively consumed, but not reassembled.</p><p>Why is'nt this function called <code>bytes</code> to match <code><a href="Data-Bits-Lens.html#v:bits">bits</a></code>? Alas, there
is already a function by that name in <a href="Data-ByteString-Lens.html">Data.ByteString.Lens</a>.</p></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>
|