/
Control-Lens-Internal.html
63 lines (63 loc) · 77.8 KB
/
Control-Lens-Internal.html
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
<!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.Internal</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-Internal.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Control-Lens-Internal.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-2.6.1: Lenses, Folds and Traversals</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>Rank2Types</td></tr><tr><th>Stability</th><td>provisional</td></tr><tr><th>Maintainer</th><td>Edward Kmett <ekmett@gmail.com></td></tr><tr><th>Safe Haskell</th><td>Safe-Infered</td></tr></table><p class="caption">Control.Lens.Internal</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Implementation details
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>These are some of the explicit Functor instances that leak into the
type signatures of Control.Lens. You shouldn't need to import this
module directly, unless you are coming up with a whole new kind of
"Family" and need to add instances.
</p></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"><span class="keyword">data</span> <a href="#t:Context">Context</a> c d a = <a href="#v:Context">Context</a> (d -> a) c</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Focusing">Focusing</a> m c a = <a href="#v:Focusing">Focusing</a> {<ul class="subs"><li><a href="#v:unfocusing">unfocusing</a> :: m (c, a)</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:FocusingWith">FocusingWith</a> w m c a = <a href="#v:FocusingWith">FocusingWith</a> {<ul class="subs"><li><a href="#v:unfocusingWith">unfocusingWith</a> :: m (c, a, w)</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:FocusingPlus">FocusingPlus</a> w k c a = <a href="#v:FocusingPlus">FocusingPlus</a> {<ul class="subs"><li><a href="#v:unfocusingPlus">unfocusingPlus</a> :: k (c, w) a</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:FocusingOn">FocusingOn</a> f k c a = <a href="#v:FocusingOn">FocusingOn</a> {<ul class="subs"><li><a href="#v:unfocusingOn">unfocusingOn</a> :: k (f c) a</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:FocusingErr">FocusingErr</a> e k c a = <a href="#v:FocusingErr">FocusingErr</a> {<ul class="subs"><li><a href="#v:unfocusingErr">unfocusingErr</a> :: k (<a href="Control-Lens-Internal.html#t:Err">Err</a> e c) a</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Err">Err</a> e a = <a href="#v:Err">Err</a> {<ul class="subs"><li><a href="#v:getErr">getErr</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> e a</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:FocusingMay">FocusingMay</a> k c a = <a href="#v:FocusingMay">FocusingMay</a> {<ul class="subs"><li><a href="#v:unfocusingMay">unfocusingMay</a> :: k (<a href="Control-Lens-Internal.html#t:May">May</a> c) a</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:May">May</a> a = <a href="#v:May">May</a> {<ul class="subs"><li><a href="#v:getMay">getMay</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Traversed">Traversed</a> f = <a href="#v:Traversed">Traversed</a> {<ul class="subs"><li><a href="#v:getTraversed">getTraversed</a> :: f <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Sequenced">Sequenced</a> m = <a href="#v:Sequenced">Sequenced</a> {<ul class="subs"><li><a href="#v:getSequenced">getSequenced</a> :: m <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Indexing">Indexing</a> f a = <a href="#v:Indexing">Indexing</a> {<ul class="subs"><li><a href="#v:runIndexing">runIndexing</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -> <a href="Control-Lens-Internal.html#t:IndexingResult">IndexingResult</a> f a</li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:IndexingResult">IndexingResult</a> f a = <a href="#v:IndexingResult">IndexingResult</a> (f a) !<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Min">Min</a> a<ul class="subs"><li>= <a href="#v:NoMin">NoMin</a> </li><li>| <a href="#v:Min">Min</a> a </li></ul></li><li class="src short"><a href="#v:getMin">getMin</a> :: <a href="Control-Lens-Internal.html#t:Min">Min</a> a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><span class="keyword">data</span> <a href="#t:Max">Max</a> a<ul class="subs"><li>= <a href="#v:NoMax">NoMax</a> </li><li>| <a href="#v:Max">Max</a> a </li></ul></li><li class="src short"><a href="#v:getMax">getMax</a> :: <a href="Control-Lens-Internal.html#t:Max">Max</a> a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:ElementOf">ElementOf</a> f a = <a href="#v:ElementOf">ElementOf</a> {<ul class="subs"><li><a href="#v:getElementOf">getElementOf</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -> <a href="Control-Lens-Internal.html#t:ElementOfResult">ElementOfResult</a> f a</li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:ElementOfResult">ElementOfResult</a> f a<ul class="subs"><li>= <a href="#v:Searching">Searching</a> !<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> a </li><li>| <a href="#v:Found">Found</a> !<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> (f a) </li><li>| <a href="#v:NotFound">NotFound</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a> </li></ul></li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Bazaar">Bazaar</a> c d a = <a href="#v:Bazaar">Bazaar</a> {<ul class="subs"><li><a href="#v:_runBazaar">_runBazaar</a> :: <span class="keyword">forall</span> f. <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> f => (c -> f d) -> f a</li></ul>}</li><li class="src short"><a href="#v:bazaar">bazaar</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> f => (c -> f d) -> <a href="Control-Lens-Internal.html#t:Bazaar">Bazaar</a> c d b -> f b</li><li class="src short"><a href="#v:duplicateBazaar">duplicateBazaar</a> :: <a href="Control-Lens-Internal.html#t:Bazaar">Bazaar</a> c e a -> <a href="Control-Lens-Internal.html#t:Bazaar">Bazaar</a> c d (<a href="Control-Lens-Internal.html#t:Bazaar">Bazaar</a> d e a)</li><li class="src short"><a href="#v:sell">sell</a> :: c -> <a href="Control-Lens-Internal.html#t:Bazaar">Bazaar</a> c d d</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Effect">Effect</a> m r a = <a href="#v:Effect">Effect</a> {<ul class="subs"><li><a href="#v:getEffect">getEffect</a> :: m r</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:EffectRWS">EffectRWS</a> w s m c a = <a href="#v:EffectRWS">EffectRWS</a> {<ul class="subs"><li><a href="#v:getEffectRWS">getEffectRWS</a> :: s -> m (c, s, w)</li></ul>}</li><li class="src short"><span class="keyword">class</span> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> f => <a href="#t:Gettable">Gettable</a> f <span class="keyword">where</span><ul class="subs"><li><a href="#v:coerce">coerce</a> :: f a -> f b</li></ul></li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Accessor">Accessor</a> r a = <a href="#v:Accessor">Accessor</a> {<ul class="subs"><li><a href="#v:runAccessor">runAccessor</a> :: r</li></ul>}</li><li class="src short"><span class="keyword">class</span> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> f) => <a href="#t:Effective">Effective</a> m r f | f -> m r <span class="keyword">where</span><ul class="subs"><li><a href="#v:effective">effective</a> :: <a href="Control-Lens-Isomorphic.html#t:Isomorphic">Isomorphic</a> k => k (m r) (f a)</li></ul></li><li class="src short"><a href="#v:ineffective">ineffective</a> :: <a href="Control-Lens-Internal.html#t:Effective">Effective</a> m r f => <a href="Control-Lens-Isomorphic.html#t:Isomorphic">Isomorphic</a> k => k (f a) (m r)</li><li class="src short"><a href="#v:noEffect">noEffect</a> :: (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> f, <a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> f) => f a</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Folding">Folding</a> f a = <a href="#v:Folding">Folding</a> {<ul class="subs"><li><a href="#v:getFolding">getFolding</a> :: f a</li></ul>}</li><li class="src short"><span class="keyword">class</span> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> f => <a href="#t:Settable">Settable</a> f <span class="keyword">where</span><ul class="subs"><li><a href="#v:untainted">untainted</a> :: f a -> a</li></ul></li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Mutator">Mutator</a> a = <a href="#v:Mutator">Mutator</a> {<ul class="subs"><li><a href="#v:runMutator">runMutator</a> :: a</li></ul>}</li></ul></div><div id="interface"><h1 id="g:1">Implementation details
</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Context" class="def">Context</a> c d a <a href="src/Control-Lens-Internal.html#Context" class="link">Source</a></p><div class="doc"><p>The indexed store can be used to characterize a <code><a href="Control-Lens-Type.html#t:Lens">Lens</a></code>
and is used by <code><a href="Control-Lens-Type.html#v:clone">clone</a></code>
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Context" class="def">Context</a> (d -> a) c</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Context" class="caption collapser" onclick="toggleSection('i:Context')">Instances</p><div id="section.i:Context" class="show"><table><tr><td class="src">~ * c d => ComonadStore c (<a href="Control-Lens-Internal.html#t:Context">Context</a> c d)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal.html#t:Context">Context</a> c d)</td><td class="doc empty"> </td></tr><tr><td class="src">~ * c d => Comonad (<a href="Control-Lens-Internal.html#t:Context">Context</a> c d)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:Focusing" class="def">Focusing</a> m c a <a href="src/Control-Lens-Internal.html#Focusing" class="link">Source</a></p><div class="doc"><p>Used by <code><a href="Control-Lens-Type.html#t:Zoom">Zoom</a></code> to <code><a href="Control-Lens-Type.html#v:zoom">zoom</a></code> into <code><a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-State.html#t:StateT">StateT</a></code>
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Focusing" class="def">Focusing</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:unfocusing" class="def">unfocusing</a> :: m (c, a)</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Focusing" class="caption collapser" onclick="toggleSection('i:Focusing')">Instances</p><div id="section.i:Focusing" class="show"><table><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal.html#t:Focusing">Focusing</a> m c)</td><td class="doc empty"> </td></tr><tr><td class="src">(<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> c) => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Control-Lens-Internal.html#t:Focusing">Focusing</a> m c)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> z => <a href="Control-Lens-Zoom.html#t:Zoom">Zoom</a> (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-State-Lazy.html#t:StateT">StateT</a> s z) (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-State-Lazy.html#t:StateT">StateT</a> t z) (<a href="Control-Lens-Internal.html#t:Focusing">Focusing</a> z) s t</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> z => <a href="Control-Lens-Zoom.html#t:Zoom">Zoom</a> (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-State-Strict.html#t:StateT">StateT</a> s z) (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-State-Strict.html#t:StateT">StateT</a> t z) (<a href="Control-Lens-Internal.html#t:Focusing">Focusing</a> z) s t</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:FocusingWith" class="def">FocusingWith</a> w m c a <a href="src/Control-Lens-Internal.html#FocusingWith" class="link">Source</a></p><div class="doc"><p>Used by <code><a href="Control-Lens-Type.html#t:Zoom">Zoom</a></code> to <code><a href="Control-Lens-Type.html#v:zoom">zoom</a></code> into <code><a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-RWS.html#t:RWST">RWST</a></code>
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:FocusingWith" class="def">FocusingWith</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:unfocusingWith" class="def">unfocusingWith</a> :: m (c, a, w)</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:FocusingWith" class="caption collapser" onclick="toggleSection('i:FocusingWith')">Instances</p><div id="section.i:FocusingWith" class="show"><table><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal.html#t:FocusingWith">FocusingWith</a> w m c)</td><td class="doc empty"> </td></tr><tr><td class="src">(<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> c, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> w) => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Control-Lens-Internal.html#t:FocusingWith">FocusingWith</a> w m c)</td><td class="doc empty"> </td></tr><tr><td class="src">(<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> w, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> z) => <a href="Control-Lens-Zoom.html#t:Zoom">Zoom</a> (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a> r w s z) (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a> r w t z) (<a href="Control-Lens-Internal.html#t:FocusingWith">FocusingWith</a> w z) s t</td><td class="doc empty"> </td></tr><tr><td class="src">(<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> w, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> z) => <a href="Control-Lens-Zoom.html#t:Zoom">Zoom</a> (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-RWS-Strict.html#t:RWST">RWST</a> r w s z) (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-RWS-Strict.html#t:RWST">RWST</a> r w t z) (<a href="Control-Lens-Internal.html#t:FocusingWith">FocusingWith</a> w z) s t</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:FocusingPlus" class="def">FocusingPlus</a> w k c a <a href="src/Control-Lens-Internal.html#FocusingPlus" class="link">Source</a></p><div class="doc"><p>Used by <code><a href="Control-Lens-Type.html#t:Zoom">Zoom</a></code> to <code><a href="Control-Lens-Type.html#v:zoom">zoom</a></code> into <code><a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-Writer.html#t:WriterT">WriterT</a></code>.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:FocusingPlus" class="def">FocusingPlus</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:unfocusingPlus" class="def">unfocusingPlus</a> :: k (c, w) a</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:FocusingPlus" class="caption collapser" onclick="toggleSection('i:FocusingPlus')">Instances</p><div id="section.i:FocusingPlus" class="show"><table><tr><td class="src">(<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> w, <a href="Control-Lens-Zoom.html#t:Zoom">Zoom</a> m n k s t) => <a href="Control-Lens-Zoom.html#t:Zoom">Zoom</a> (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-Writer-Lazy.html#t:WriterT">WriterT</a> w m) (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-Writer-Lazy.html#t:WriterT">WriterT</a> w n) (<a href="Control-Lens-Internal.html#t:FocusingPlus">FocusingPlus</a> w k) s t</td><td class="doc empty"> </td></tr><tr><td class="src">(<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> w, <a href="Control-Lens-Zoom.html#t:Zoom">Zoom</a> m n k s t) => <a href="Control-Lens-Zoom.html#t:Zoom">Zoom</a> (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-Writer-Strict.html#t:WriterT">WriterT</a> w m) (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-Writer-Strict.html#t:WriterT">WriterT</a> w n) (<a href="Control-Lens-Internal.html#t:FocusingPlus">FocusingPlus</a> w k) s t</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> (k (c, w)) => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal.html#t:FocusingPlus">FocusingPlus</a> w k c)</td><td class="doc empty"> </td></tr><tr><td class="src">(<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> w, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> (k (c, w))) => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Control-Lens-Internal.html#t:FocusingPlus">FocusingPlus</a> w k c)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:FocusingOn" class="def">FocusingOn</a> f k c a <a href="src/Control-Lens-Internal.html#FocusingOn" class="link">Source</a></p><div class="doc"><p>Used by <code><a href="Control-Lens-Type.html#t:Zoom">Zoom</a></code> to <code><a href="Control-Lens-Type.html#v:zoom">zoom</a></code> into <code><a href="/Library/Haskell/ghc-7.4.1/lib/transformers-0.3.0.0/doc/html/Control-Monad-Trans-Maybe.html#t:MaybeT">MaybeT</a></code> or <code><a href="/Library/Haskell/ghc-7.4.1/lib/transformers-0.3.0.0/doc/html/Control-Monad-Trans-List.html#t:ListT">ListT</a></code>
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:FocusingOn" class="def">FocusingOn</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:unfocusingOn" class="def">unfocusingOn</a> :: k (f c) a</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:FocusingOn" class="caption collapser" onclick="toggleSection('i:FocusingOn')">Instances</p><div id="section.i:FocusingOn" class="show"><table><tr><td class="src"><a href="Control-Lens-Zoom.html#t:Zoom">Zoom</a> m n k s t => <a href="Control-Lens-Zoom.html#t:Zoom">Zoom</a> (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-List.html#t:ListT">ListT</a> m) (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-List.html#t:ListT">ListT</a> n) (<a href="Control-Lens-Internal.html#t:FocusingOn">FocusingOn</a> [] k) s t</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> (k (f c)) => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal.html#t:FocusingOn">FocusingOn</a> f k c)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> (k (f c)) => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Control-Lens-Internal.html#t:FocusingOn">FocusingOn</a> f k c)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:FocusingErr" class="def">FocusingErr</a> e k c a <a href="src/Control-Lens-Internal.html#FocusingErr" class="link">Source</a></p><div class="doc"><p>Used by <code><a href="Control-Lens-Type.html#t:Zoom">Zoom</a></code> to <code><a href="Control-Lens-Type.html#v:zoom">zoom</a></code> into <code><a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-Error.html#t:ErrorT">ErrorT</a></code>
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:FocusingErr" class="def">FocusingErr</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:unfocusingErr" class="def">unfocusingErr</a> :: k (<a href="Control-Lens-Internal.html#t:Err">Err</a> e c) a</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:FocusingErr" class="caption collapser" onclick="toggleSection('i:FocusingErr')">Instances</p><div id="section.i:FocusingErr" class="show"><table><tr><td class="src">(<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-Error-Class.html#t:Error">Error</a> e, <a href="Control-Lens-Zoom.html#t:Zoom">Zoom</a> m n k s t) => <a href="Control-Lens-Zoom.html#t:Zoom">Zoom</a> (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-Error.html#t:ErrorT">ErrorT</a> e m) (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-Error.html#t:ErrorT">ErrorT</a> e n) (<a href="Control-Lens-Internal.html#t:FocusingErr">FocusingErr</a> e k) s t</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> (k (<a href="Control-Lens-Internal.html#t:Err">Err</a> e c)) => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal.html#t:FocusingErr">FocusingErr</a> e k c)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> (k (<a href="Control-Lens-Internal.html#t:Err">Err</a> e c)) => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Control-Lens-Internal.html#t:FocusingErr">FocusingErr</a> e k c)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:Err" class="def">Err</a> e a <a href="src/Control-Lens-Internal.html#Err" class="link">Source</a></p><div class="doc"><p>Make a monoid out of <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a></code> for error handling
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Err" class="def">Err</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:getErr" class="def">getErr</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Either.html#t:Either">Either</a> e a</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Err" class="caption collapser" onclick="toggleSection('i:Err')">Instances</p><div id="section.i:Err" class="show"><table><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> a => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Control-Lens-Internal.html#t:Err">Err</a> e a)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:FocusingMay" class="def">FocusingMay</a> k c a <a href="src/Control-Lens-Internal.html#FocusingMay" class="link">Source</a></p><div class="doc"><p>Used by <code><a href="Control-Lens-Type.html#t:Zoom">Zoom</a></code> to <code><a href="Control-Lens-Type.html#v:zoom">zoom</a></code> into <code><a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-Error.html#t:ErrorT">ErrorT</a></code>
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:FocusingMay" class="def">FocusingMay</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:unfocusingMay" class="def">unfocusingMay</a> :: k (<a href="Control-Lens-Internal.html#t:May">May</a> c) a</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:FocusingMay" class="caption collapser" onclick="toggleSection('i:FocusingMay')">Instances</p><div id="section.i:FocusingMay" class="show"><table><tr><td class="src"><a href="Control-Lens-Zoom.html#t:Zoom">Zoom</a> m n k s t => <a href="Control-Lens-Zoom.html#t:Zoom">Zoom</a> (<a href="/Library/Haskell/ghc-7.4.1/lib/transformers-0.3.0.0/doc/html/Control-Monad-Trans-Maybe.html#t:MaybeT">MaybeT</a> m) (<a href="/Library/Haskell/ghc-7.4.1/lib/transformers-0.3.0.0/doc/html/Control-Monad-Trans-Maybe.html#t:MaybeT">MaybeT</a> n) (<a href="Control-Lens-Internal.html#t:FocusingMay">FocusingMay</a> k) s t</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> (k (<a href="Control-Lens-Internal.html#t:May">May</a> c)) => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal.html#t:FocusingMay">FocusingMay</a> k c)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> (k (<a href="Control-Lens-Internal.html#t:May">May</a> c)) => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Control-Lens-Internal.html#t:FocusingMay">FocusingMay</a> k c)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:May" class="def">May</a> a <a href="src/Control-Lens-Internal.html#May" class="link">Source</a></p><div class="doc"><p>Make a monoid out of <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a></code> for error handling
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:May" class="def">May</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:getMay" class="def">getMay</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:May" class="caption collapser" onclick="toggleSection('i:May')">Instances</p><div id="section.i:May" class="show"><table><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> a => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Control-Lens-Internal.html#t:May">May</a> a)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:Traversed" class="def">Traversed</a> f <a href="src/Control-Lens-Internal.html#Traversed" class="link">Source</a></p><div class="doc"><p>Used internally by <code><a href="Control-Lens-Traversal.html#v:traverseOf_">traverseOf_</a></code> and the like.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Traversed" class="def">Traversed</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:getTraversed" class="def">getTraversed</a> :: f <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Traversed" class="caption collapser" onclick="toggleSection('i:Traversed')">Instances</p><div id="section.i:Traversed" class="show"><table><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> f => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Control-Lens-Internal.html#t:Traversed">Traversed</a> f)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:Sequenced" class="def">Sequenced</a> m <a href="src/Control-Lens-Internal.html#Sequenced" class="link">Source</a></p><div class="doc"><p>Used internally by <code><a href="Control-Lens-Traversal.html#v:mapM_">mapM_</a></code> and the like.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Sequenced" class="def">Sequenced</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:getSequenced" class="def">getSequenced</a> :: m <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Sequenced" class="caption collapser" onclick="toggleSection('i:Sequenced')">Instances</p><div id="section.i:Sequenced" class="show"><table><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Control-Lens-Internal.html#t:Sequenced">Sequenced</a> m)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:Indexing" class="def">Indexing</a> f a <a href="src/Control-Lens-Internal.html#Indexing" class="link">Source</a></p><div class="doc"><p>Applicative composition of <code><code><a href="/Library/Haskell/ghc-7.4.1/lib/transformers-0.3.0.0/doc/html/Control-Monad-Trans-State-Lazy.html#t:State">State</a></code> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a></code></code> with a <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a></code>, used
by <code><a href="Control-Lens-Indexed.html#v:indexed">indexed</a></code>
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Indexing" class="def">Indexing</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:runIndexing" class="def">runIndexing</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -> <a href="Control-Lens-Internal.html#t:IndexingResult">IndexingResult</a> f a</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Indexing" class="caption collapser" onclick="toggleSection('i:Indexing')">Instances</p><div id="section.i:Indexing" class="show"><table><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> f => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal.html#t:Indexing">Indexing</a> f)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> f => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Control-Lens-Internal.html#t:Indexing">Indexing</a> f)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> f => <a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> (<a href="Control-Lens-Internal.html#t:Indexing">Indexing</a> f)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:IndexingResult" class="def">IndexingResult</a> f a <a href="src/Control-Lens-Internal.html#IndexingResult" class="link">Source</a></p><div class="doc"><p>The result of <code><a href="Control-Lens-Internal.html#t:Indexing">Indexing</a></code>
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:IndexingResult" class="def">IndexingResult</a> (f a) !<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:IndexingResult" class="caption collapser" onclick="toggleSection('i:IndexingResult')">Instances</p><div id="section.i:IndexingResult" class="show"><table><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> f => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal.html#t:IndexingResult">IndexingResult</a> f)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Min" class="def">Min</a> a <a href="src/Control-Lens-Internal.html#Min" class="link">Source</a></p><div class="doc"><p>Used for <code><a href="Control-Lens-Fold.html#v:minimumOf">minimumOf</a></code>
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:NoMin" class="def">NoMin</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Min" class="def">Min</a> a</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Min" class="caption collapser" onclick="toggleSection('i:Min')">Instances</p><div id="section.i:Min" class="show"><table><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Control-Lens-Internal.html#t:Min">Min</a> a)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:getMin" class="def">getMin</a> :: <a href="Control-Lens-Internal.html#t:Min">Min</a> a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Internal.html#getMin" class="link">Source</a></p><div class="doc"><p>Obtain the minimum.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Max" class="def">Max</a> a <a href="src/Control-Lens-Internal.html#Max" class="link">Source</a></p><div class="doc"><p>Used for <code><a href="Control-Lens-Fold.html#v:maximumOf">maximumOf</a></code>
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:NoMax" class="def">NoMax</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Max" class="def">Max</a> a</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Max" class="caption collapser" onclick="toggleSection('i:Max')">Instances</p><div id="section.i:Max" class="show"><table><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Ord.html#t:Ord">Ord</a> a => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Control-Lens-Internal.html#t:Max">Max</a> a)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:getMax" class="def">getMax</a> :: <a href="Control-Lens-Internal.html#t:Max">Max</a> a -> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a> a<a href="src/Control-Lens-Internal.html#getMax" class="link">Source</a></p><div class="doc"><p>Obtain the maximum
</p></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:ElementOf" class="def">ElementOf</a> f a <a href="src/Control-Lens-Internal.html#ElementOf" class="link">Source</a></p><div class="doc"><p>Used to find the <em>n</em>th <code><a href="Control-Lens-Traversal.html#v:element">element</a></code> of a <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code>.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ElementOf" class="def">ElementOf</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:getElementOf" class="def">getElementOf</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -> <a href="Control-Lens-Internal.html#t:ElementOfResult">ElementOfResult</a> f a</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:ElementOf" class="caption collapser" onclick="toggleSection('i:ElementOf')">Instances</p><div id="section.i:ElementOf" class="show"><table><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> f => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal.html#t:ElementOf">ElementOf</a> f)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> f => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Control-Lens-Internal.html#t:ElementOf">ElementOf</a> f)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> f => <a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> (<a href="Control-Lens-Internal.html#t:ElementOf">ElementOf</a> f)</td><td class="doc"><p>This instance is a lie, but it is a useful lie.
</p></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:ElementOfResult" class="def">ElementOfResult</a> f a <a href="src/Control-Lens-Internal.html#ElementOfResult" class="link">Source</a></p><div class="doc"><p>The result of trying to find the <em>n</em>th <code><a href="Control-Lens-Traversal.html#v:element">element</a></code> of a <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code>.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Searching" class="def">Searching</a> !<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> a</td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Found" class="def">Found</a> !<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> (f a)</td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:NotFound" class="def">NotFound</a> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ElementOfResult" class="caption collapser" onclick="toggleSection('i:ElementOfResult')">Instances</p><div id="section.i:ElementOfResult" class="show"><table><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> f => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal.html#t:ElementOfResult">ElementOfResult</a> f)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:Bazaar" class="def">Bazaar</a> c d a <a href="src/Control-Lens-Internal.html#Bazaar" class="link">Source</a></p><div class="doc"><p>This is used to characterize a <code><a href="Control-Lens-Traversal.html#t:Traversal">Traversal</a></code>.
</p><p>a.k.a. indexed Cartesian store comonad, indexed Kleene store comonad, or an indexed <code>FunList</code>.
</p><p><a href="http://twanvl.nl/blog/haskell/non-regular1">http://twanvl.nl/blog/haskell/non-regular1</a>
</p><p>Mnemonically, a <code><a href="Control-Lens-Internal.html#t:Bazaar">Bazaar</a></code> holds many stores and you can easily add more.
</p><p>This is a final encoding of <code><a href="Control-Lens-Internal.html#t:Bazaar">Bazaar</a></code>.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Bazaar" class="def">Bazaar</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:_runBazaar" class="def">_runBazaar</a> :: <span class="keyword">forall</span> f. <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> f => (c -> f d) -> f a</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Bazaar" class="caption collapser" onclick="toggleSection('i:Bazaar')">Instances</p><div id="section.i:Bazaar" class="show"><table><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal.html#t:Bazaar">Bazaar</a> c d)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Control-Lens-Internal.html#t:Bazaar">Bazaar</a> c d)</td><td class="doc empty"> </td></tr><tr><td class="src">~ * c d => ComonadApply (<a href="Control-Lens-Internal.html#t:Bazaar">Bazaar</a> c d)</td><td class="doc empty"> </td></tr><tr><td class="src">~ * c d => Comonad (<a href="Control-Lens-Internal.html#t:Bazaar">Bazaar</a> c d)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:bazaar" class="def">bazaar</a> :: <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> f => (c -> f d) -> <a href="Control-Lens-Internal.html#t:Bazaar">Bazaar</a> c d b -> f b<a href="src/Control-Lens-Internal.html#bazaar" class="link">Source</a></p><div class="doc"><p>Given an action to run for each matched pair, traverse a bazaar.
</p></div></div><div class="top"><p class="src"><a name="v:duplicateBazaar" class="def">duplicateBazaar</a> :: <a href="Control-Lens-Internal.html#t:Bazaar">Bazaar</a> c e a -> <a href="Control-Lens-Internal.html#t:Bazaar">Bazaar</a> c d (<a href="Control-Lens-Internal.html#t:Bazaar">Bazaar</a> d e a)<a href="src/Control-Lens-Internal.html#duplicateBazaar" class="link">Source</a></p><div class="doc"><p><code><a href="Control-Lens-Internal.html#t:Bazaar">Bazaar</a></code> is an indexed <code>Comonad</code>.
</p></div></div><div class="top"><p class="src"><a name="v:sell" class="def">sell</a> :: c -> <a href="Control-Lens-Internal.html#t:Bazaar">Bazaar</a> c d d<a href="src/Control-Lens-Internal.html#sell" class="link">Source</a></p><div class="doc"><p>A trivial <code><a href="Control-Lens-Internal.html#t:Bazaar">Bazaar</a></code>.
</p></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:Effect" class="def">Effect</a> m r a <a href="src/Control-Lens-Internal.html#Effect" class="link">Source</a></p><div class="doc"><p>Wrap a monadic effect with a phantom type argument.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Effect" class="def">Effect</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:getEffect" class="def">getEffect</a> :: m r</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Effect" class="caption collapser" onclick="toggleSection('i:Effect')">Instances</p><div id="section.i:Effect" class="show"><table><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Control-Lens-Internal.html#t:Effective">Effective</a> m r (<a href="Control-Lens-Internal.html#t:Effect">Effect</a> m r)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal.html#t:Effect">Effect</a> m r)</td><td class="doc empty"> </td></tr><tr><td class="src">(<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> r) => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Control-Lens-Internal.html#t:Effect">Effect</a> m r)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> (<a href="Control-Lens-Internal.html#t:Effect">Effect</a> m r)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Control-Lens-Zoom.html#t:Magnify">Magnify</a> (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> b m) (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-Reader.html#t:ReaderT">ReaderT</a> a m) (<a href="Control-Lens-Internal.html#t:Effect">Effect</a> m) b a</td><td class="doc empty"> </td></tr><tr><td class="src">(<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> r) => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Control-Lens-Internal.html#t:Effect">Effect</a> m r a)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:EffectRWS" class="def">EffectRWS</a> w s m c a <a href="src/Control-Lens-Internal.html#EffectRWS" class="link">Source</a></p><div class="doc"><p>Wrap a monadic effect with a phantom type argument. Used when magnifying RWST.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:EffectRWS" class="def">EffectRWS</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:getEffectRWS" class="def">getEffectRWS</a> :: s -> m (c, s, w)</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:EffectRWS" class="caption collapser" onclick="toggleSection('i:EffectRWS')">Instances</p><div id="section.i:EffectRWS" class="show"><table><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal.html#t:EffectRWS">EffectRWS</a> w s m c)</td><td class="doc empty"> </td></tr><tr><td class="src">(<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> c, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> w, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m) => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Control-Lens-Internal.html#t:EffectRWS">EffectRWS</a> w s m c)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> (<a href="Control-Lens-Internal.html#t:EffectRWS">EffectRWS</a> w s m c)</td><td class="doc empty"> </td></tr><tr><td class="src">(<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> w) => <a href="Control-Lens-Zoom.html#t:Magnify">Magnify</a> (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a> b w s m) (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-RWS-Lazy.html#t:RWST">RWST</a> a w s m) (<a href="Control-Lens-Internal.html#t:EffectRWS">EffectRWS</a> w s m) b a</td><td class="doc empty"> </td></tr><tr><td class="src">(<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> w) => <a href="Control-Lens-Zoom.html#t:Magnify">Magnify</a> (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-RWS-Strict.html#t:RWST">RWST</a> b w s m) (<a href="/Library/Haskell/ghc-7.4.1/lib/mtl-2.1.1/doc/html/Control-Monad-RWS-Strict.html#t:RWST">RWST</a> a w s m) (<a href="Control-Lens-Internal.html#t:EffectRWS">EffectRWS</a> w s m) b a</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> f => <a name="t:Gettable" class="def">Gettable</a> f <span class="keyword">where</span><a href="src/Control-Lens-Internal.html#Gettable" class="link">Source</a></p><div class="doc"><p>Generalizing <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Const">Const</a></code> so we can apply simple <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a></code>
transformations to it and so we can get nicer error messages
</p><p>A <code><a href="Control-Lens-Internal.html#t:Gettable">Gettable</a></code> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a></code> ignores its argument, which it carries solely as a
phantom type parameter.
</p><p>To ensure this, an instance of <code><a href="Control-Lens-Internal.html#t:Gettable">Gettable</a></code> is required to satisfy:
</p><pre><code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Category.html#v:id">id</a></code> = <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#v:fmap">fmap</a></code> f = <code><a href="Control-Lens-Internal.html#v:coerce">coerce</a></code></pre></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:coerce" class="def">coerce</a> :: f a -> f b<a href="src/Control-Lens-Internal.html#coerce" class="link">Source</a></p><div class="doc"><p>Replace the phantom type argument.
</p></div></div><div class="subs instances"><p id="control.i:Gettable" class="caption collapser" onclick="toggleSection('i:Gettable')">Instances</p><div id="section.i:Gettable" class="show"><table><tr><td class="src"><a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Const">Const</a> r)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> f => <a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> (<a href="/Library/Haskell/ghc-7.4.1/lib/transformers-0.3.0.0/doc/html/Control-Applicative-Backwards.html#t:Backwards">Backwards</a> f)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> (<a href="Control-Lens-Internal.html#t:Accessor">Accessor</a> r)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> f => <a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> (<a href="Control-Lens-Internal.html#t:ElementOf">ElementOf</a> f)</td><td class="doc"><p>This instance is a lie, but it is a useful lie.
</p></td></tr><tr><td class="src"><a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> f => <a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> (<a href="Control-Lens-Internal.html#t:Indexing">Indexing</a> f)</td><td class="doc empty"> </td></tr><tr><td class="src">(<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> f, <a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> g) => <a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> (<a href="/Library/Haskell/ghc-7.4.1/lib/transformers-0.3.0.0/doc/html/Data-Functor-Compose.html#t:Compose">Compose</a> f g)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> (<a href="Control-Lens-Internal.html#t:Effect">Effect</a> m r)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> (<a href="Control-Lens-Internal.html#t:EffectRWS">EffectRWS</a> w s m c)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:Accessor" class="def">Accessor</a> r a <a href="src/Control-Lens-Internal.html#Accessor" class="link">Source</a></p><div class="doc"><p>Used instead of <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Const">Const</a></code> to report
</p><pre>No instance of (<code><a href="Control-Lens-Setter.html#t:Settable">Settable</a></code> <code><a href="Control-Lens-Internal.html#t:Accessor">Accessor</a></code>)</pre><p>when the user attempts to misuse a <code><a href="Control-Lens-Setter.html#t:Setter">Setter</a></code> as a
<code>Getter</code>, rather than a monolithic unification error.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Accessor" class="def">Accessor</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:runAccessor" class="def">runAccessor</a> :: r</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Accessor" class="caption collapser" onclick="toggleSection('i:Accessor')">Instances</p><div id="section.i:Accessor" class="show"><table><tr><td class="src"><a href="Control-Lens-Internal.html#t:Effective">Effective</a> <a href="/Library/Haskell/ghc-7.4.1/lib/transformers-0.3.0.0/doc/html/Data-Functor-Identity.html#t:Identity">Identity</a> r (<a href="Control-Lens-Internal.html#t:Accessor">Accessor</a> r)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal.html#t:Accessor">Accessor</a> r)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> r => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Control-Lens-Internal.html#t:Accessor">Accessor</a> r)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> (<a href="Control-Lens-Internal.html#t:Accessor">Accessor</a> r)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Control-Lens-Zoom.html#t:Magnify">Magnify</a> ((->) b) ((->) a) <a href="Control-Lens-Internal.html#t:Accessor">Accessor</a> b a</td><td class="doc"><pre><code><a href="Control-Lens-Zoom.html#v:magnify">magnify</a></code> = <code><a href="Control-Lens-Getter.html#v:views">views</a></code></pre></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> f) => <a name="t:Effective" class="def">Effective</a> m r f | f -> m r <span class="keyword">where</span><a href="src/Control-Lens-Internal.html#Effective" class="link">Source</a></p><div class="doc"><p>An <code><a href="Control-Lens-Internal.html#t:Effective">Effective</a></code> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a></code> ignores its argument and is isomorphic to a monad wrapped around a value.
</p><p>That said, the monad is possibly rather unrelated to any <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a></code> structure.
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:effective" class="def">effective</a> :: <a href="Control-Lens-Isomorphic.html#t:Isomorphic">Isomorphic</a> k => k (m r) (f a)<a href="src/Control-Lens-Internal.html#effective" class="link">Source</a></p></div><div class="subs instances"><p id="control.i:Effective" class="caption collapser" onclick="toggleSection('i:Effective')">Instances</p><div id="section.i:Effective" class="show"><table><tr><td class="src"><a href="Control-Lens-Internal.html#t:Effective">Effective</a> <a href="/Library/Haskell/ghc-7.4.1/lib/transformers-0.3.0.0/doc/html/Data-Functor-Identity.html#t:Identity">Identity</a> r (<a href="Control-Lens-Internal.html#t:Accessor">Accessor</a> r)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m => <a href="Control-Lens-Internal.html#t:Effective">Effective</a> m r (<a href="Control-Lens-Internal.html#t:Effect">Effect</a> m r)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Control-Lens-Internal.html#t:Effective">Effective</a> m r f => <a href="Control-Lens-Internal.html#t:Effective">Effective</a> m (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Dual">Dual</a> r) (<a href="/Library/Haskell/ghc-7.4.1/lib/transformers-0.3.0.0/doc/html/Control-Applicative-Backwards.html#t:Backwards">Backwards</a> f)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:ineffective" class="def">ineffective</a> :: <a href="Control-Lens-Internal.html#t:Effective">Effective</a> m r f => <a href="Control-Lens-Isomorphic.html#t:Isomorphic">Isomorphic</a> k => k (f a) (m r)<a href="src/Control-Lens-Internal.html#ineffective" class="link">Source</a></p><div class="doc"><p>A convenient antonym that is used internally.
</p></div></div><div class="top"><p class="src"><a name="v:noEffect" class="def">noEffect</a> :: (<a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> f, <a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> f) => f a<a href="src/Control-Lens-Internal.html#noEffect" class="link">Source</a></p><div class="doc"><p>The <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#v:mempty">mempty</a></code> equivalent for a <code><a href="Control-Lens-Internal.html#t:Gettable">Gettable</a></code> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a></code> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a></code>.
</p></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:Folding" class="def">Folding</a> f a <a href="src/Control-Lens-Internal.html#Folding" class="link">Source</a></p><div class="doc"><p>A <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a></code> for a <code><a href="Control-Lens-Internal.html#t:Gettable">Gettable</a></code> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a></code>.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Folding" class="def">Folding</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:getFolding" class="def">getFolding</a> :: f a</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Folding" class="caption collapser" onclick="toggleSection('i:Folding')">Instances</p><div id="section.i:Folding" class="show"><table><tr><td class="src">(<a href="Control-Lens-Internal.html#t:Gettable">Gettable</a> f, <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> f) => <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Control-Lens-Internal.html#t:Folding">Folding</a> f a)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> f => <a name="t:Settable" class="def">Settable</a> f <span class="keyword">where</span><a href="src/Control-Lens-Internal.html#Settable" class="link">Source</a></p><div class="doc"><p>Anything <code><a href="Control-Lens-Internal.html#t:Settable">Settable</a></code> must be isomorphic to the <code><a href="/Library/Haskell/ghc-7.4.1/lib/transformers-0.3.0.0/doc/html/Data-Functor-Identity.html#t:Identity">Identity</a></code> <code><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a></code>.
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:untainted" class="def">untainted</a> :: f a -> a<a href="src/Control-Lens-Internal.html#untainted" class="link">Source</a></p></div><div class="subs instances"><p id="control.i:Settable" class="caption collapser" onclick="toggleSection('i:Settable')">Instances</p><div id="section.i:Settable" class="show"><table><tr><td class="src"><a href="Control-Lens-Internal.html#t:Settable">Settable</a> <a href="/Library/Haskell/ghc-7.4.1/lib/transformers-0.3.0.0/doc/html/Data-Functor-Identity.html#t:Identity">Identity</a></td><td class="doc"><p>so you can pass our a <code>Setter</code> into combinators from other lens libraries
</p></td></tr><tr><td class="src"><a href="Control-Lens-Internal.html#t:Settable">Settable</a> <a href="Control-Lens-Internal.html#t:Mutator">Mutator</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Control-Lens-Internal.html#t:Settable">Settable</a> f => <a href="Control-Lens-Internal.html#t:Settable">Settable</a> (<a href="/Library/Haskell/ghc-7.4.1/lib/transformers-0.3.0.0/doc/html/Control-Applicative-Backwards.html#t:Backwards">Backwards</a> f)</td><td class="doc"><p><code><a href="Control-Lens-Fold.html#v:backwards">backwards</a></code>
</p></td></tr><tr><td class="src">(<a href="Control-Lens-Internal.html#t:Settable">Settable</a> f, <a href="Control-Lens-Internal.html#t:Settable">Settable</a> g) => <a href="Control-Lens-Internal.html#t:Settable">Settable</a> (<a href="/Library/Haskell/ghc-7.4.1/lib/transformers-0.3.0.0/doc/html/Data-Functor-Compose.html#t:Compose">Compose</a> f g)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:Mutator" class="def">Mutator</a> a <a href="src/Control-Lens-Internal.html#Mutator" class="link">Source</a></p><div class="doc"><p><code><a href="Control-Lens-Internal.html#t:Mutator">Mutator</a></code> is just a renamed <code><a href="/Library/Haskell/ghc-7.4.1/lib/transformers-0.3.0.0/doc/html/Data-Functor-Identity.html#t:Identity">Identity</a></code> functor to give better error
messages when someone attempts to use a getter as a setter.
</p><p>Most user code will never need to see this type.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Mutator" class="def">Mutator</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:runMutator" class="def">runMutator</a> :: a</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Mutator" class="caption collapser" onclick="toggleSection('i:Mutator')">Instances</p><div id="section.i:Mutator" class="show"><table><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Functor">Functor</a> <a href="Control-Lens-Internal.html#t:Mutator">Mutator</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/Library/Frameworks/GHC.framework/Versions/7.4.1-x86_64/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> <a href="Control-Lens-Internal.html#t:Mutator">Mutator</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Control-Lens-Internal.html#t:Settable">Settable</a> <a href="Control-Lens-Internal.html#t:Mutator">Mutator</a></td><td class="doc empty"> </td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.10.0</p></div></body></html>