This file is indexed.

/usr/share/doc/libghc-lens-doc/html/Control-Lens-Internal-Indexed.html is in libghc-lens-doc 4.15.4-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
<!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.Indexed</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="file:///usr/share/javascript/mathjax/MathJax.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Control-Lens-Internal-Indexed.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Control-Lens-Internal-Indexed.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.15.4: Lenses, Folds and Traversals</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(C) 2012-2016 Edward Kmett</td></tr><tr><th>License</th><td>BSD-style (see the file LICENSE)</td></tr><tr><th>Maintainer</th><td>Edward Kmett &lt;ekmett@gmail.com&gt;</td></tr><tr><th>Stability</th><td>experimental</td></tr><tr><th>Portability</th><td>non-portable</td></tr><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Control.Lens.Internal.Indexed</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">An Indexed Profunctor</a></li><li><a href="#g:2">Classes</a></li><li><a href="#g:3">Indexing</a></li><li><a href="#g:4">64-bit Indexing</a></li><li><a href="#g:5">Converting to Folds</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Internal implementation details for <code><a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a></code> lens-likes</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">newtype</span> <a href="#t:Indexed">Indexed</a> i a b = <a href="#v:Indexed">Indexed</a> {<ul class="subs"><li><a href="#v:runIndexed">runIndexed</a> :: i -&gt; a -&gt; b</li></ul>}</li><li class="src short"><span class="keyword">class</span> (<a href="Control-Lens-Prism.html#t:Choice">Choice</a> p, <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Corepresentable">Corepresentable</a> p, <a href="file:///usr/share/doc/libghc-comonad-doc/html/Control-Comonad.html#t:Comonad">Comonad</a> (<a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Corep">Corep</a> p), <a href="Control-Lens-Traversal.html#t:Traversable">Traversable</a> (<a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Corep">Corep</a> p), <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Strong.html#t:Strong">Strong</a> p, <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Representable">Representable</a> p, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> (<a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Rep">Rep</a> p), <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad-Fix.html#t:MonadFix">MonadFix</a> (<a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Rep">Rep</a> p), <a href="file:///usr/share/doc/libghc-distributive-doc/html/Data-Distributive.html#t:Distributive">Distributive</a> (<a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Rep">Rep</a> p), <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Strong.html#t:Costrong">Costrong</a> p, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Arrow.html#t:ArrowLoop">ArrowLoop</a> p, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Arrow.html#t:ArrowApply">ArrowApply</a> p, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Arrow.html#t:ArrowChoice">ArrowChoice</a> p, <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Closed.html#t:Closed">Closed</a> p) =&gt; <a href="#t:Conjoined">Conjoined</a> p <span class="keyword">where</span><ul class="subs"></ul></li><li class="src short"><span class="keyword">class</span> <a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p =&gt; <a href="#t:Indexable">Indexable</a> i p <span class="keyword">where</span><ul class="subs"></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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, f a)</li></ul>}</li><li class="src short"><a href="#v:indexing">indexing</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> p =&gt; ((a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f b) -&gt; s -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f t) -&gt; p a (f b) -&gt; s -&gt; f t</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Indexing64">Indexing64</a> f a = <a href="#v:Indexing64">Indexing64</a> {<ul class="subs"><li><a href="#v:runIndexing64">runIndexing64</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a>, f a)</li></ul>}</li><li class="src short"><a href="#v:indexing64">indexing64</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a> p =&gt; ((a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f b) -&gt; s -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f t) -&gt; p a (f b) -&gt; s -&gt; f t</li><li class="src short"><a href="#v:withIndex">withIndex</a> :: (<a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i p, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f) =&gt; p (i, s) (f (j, t)) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i s (f t)</li><li class="src short"><a href="#v:asIndex">asIndex</a> :: (<a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i p, <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> f, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f) =&gt; p i (f i) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i s (f s)</li></ul></div><div id="interface"><h1 id="g:1">An Indexed Profunctor</h1><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:Indexed" class="def">Indexed</a> i a b <a href="src/Control-Lens-Internal-Indexed.html#Indexed" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></p><div class="doc"><p>A function with access to a index. This constructor may be useful when you need to store
 an <code><a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a></code> in a container to avoid <code>ImpredicativeTypes</code>.</p><pre>index :: Indexed i a b -&gt; i -&gt; a -&gt; b</pre></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Indexed" class="def">Indexed</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:runIndexed" class="def">runIndexed</a> :: i -&gt; a -&gt; b</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Indexed" class="caption collapser" onclick="toggleSection('i:Indexed')">Instances</p><div id="section.i:Indexed" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Indexable:1" class="instance expander" onclick="toggleSection('i:id:Indexed:Indexable:1')"></span> (~) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> i j =&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> j)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-243" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Indexable:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:indexed">indexed</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> j a b -&gt; i -&gt; a -&gt; b <a href="src/Control-Lens-Internal-Indexed.html#indexed" class="link">Source</a> <a href="#v:indexed" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Arrow:2" class="instance expander" onclick="toggleSection('i:id:Indexed:Arrow:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Arrow.html#t:Arrow">Arrow</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-209" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Arrow:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:arr">arr</a> :: (b -&gt; c) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i b c <a href="#v:arr" class="selflink">#</a></p><p class="src"><a href="#v:first">first</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i b c -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i (b, d) (c, d) <a href="#v:first" class="selflink">#</a></p><p class="src"><a href="#v:second">second</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i b c -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i (d, b) (d, c) <a href="#v:second" class="selflink">#</a></p><p class="src"><a href="#v:-42--42--42-">(***)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i b c -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i b' c' -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i (b, b') (c, c') <a href="#v:-42--42--42-" class="selflink">#</a></p><p class="src"><a href="#v:-38--38--38-">(&amp;&amp;&amp;)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i b c -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i b c' -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i b (c, c') <a href="#v:-38--38--38-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:ArrowChoice:3" class="instance expander" onclick="toggleSection('i:id:Indexed:ArrowChoice:3')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Arrow.html#t:ArrowChoice">ArrowChoice</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-221" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:ArrowChoice:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:left">left</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i b c -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Either.html#t:Either">Either</a> b d) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Either.html#t:Either">Either</a> c d) <a href="#v:left" class="selflink">#</a></p><p class="src"><a href="#v:right">right</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i b c -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Either.html#t:Either">Either</a> d b) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Either.html#t:Either">Either</a> d c) <a href="#v:right" class="selflink">#</a></p><p class="src"><a href="#v:-43--43--43-">(+++)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i b c -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i b' c' -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Either.html#t:Either">Either</a> b b') (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Either.html#t:Either">Either</a> c c') <a href="#v:-43--43--43-" class="selflink">#</a></p><p class="src"><a href="#v:-124--124--124-">(|||)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i b d -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i c d -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Either.html#t:Either">Either</a> b c) d <a href="#v:-124--124--124-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:ArrowApply:4" class="instance expander" onclick="toggleSection('i:id:Indexed:ArrowApply:4')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Arrow.html#t:ArrowApply">ArrowApply</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-231" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:ArrowApply:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:app">app</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i b c, b) c <a href="#v:app" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:ArrowLoop:5" class="instance expander" onclick="toggleSection('i:id:Indexed:ArrowLoop:5')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Arrow.html#t:ArrowLoop">ArrowLoop</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-235" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:ArrowLoop:5" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:loop">loop</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i (b, d) (c, d) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i b c <a href="#v:loop" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Representable:6" class="instance expander" onclick="toggleSection('i:id:Indexed:Representable:6')"></span> <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Representable">Representable</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-181" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Representable:6" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Rep">Rep</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Rep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:tabulate">tabulate</a> :: (d -&gt; <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Rep">Rep</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) c) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i d c <a href="#v:tabulate" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Corepresentable:7" class="instance expander" onclick="toggleSection('i:id:Indexed:Corepresentable:7')"></span> <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Corepresentable">Corepresentable</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-190" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Corepresentable:7" class="inst-details hide"><div class="subs associated-types"><p class="caption">Associated Types</p><p class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Corep">Corep</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> <a href="#t:Corep" class="selflink">#</a></p></div> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:cotabulate">cotabulate</a> :: (<a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Corep">Corep</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) d -&gt; c) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i d c <a href="#v:cotabulate" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Closed:8" class="instance expander" onclick="toggleSection('i:id:Indexed:Closed:8')"></span> <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Closed.html#t:Closed">Closed</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-169" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Closed:8" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:closed">closed</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i (x -&gt; a) (x -&gt; b) <a href="#v:closed" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Choice:9" class="instance expander" onclick="toggleSection('i:id:Indexed:Choice:9')"></span> <a href="Control-Lens-Prism.html#t:Choice">Choice</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-195" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Choice:9" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:left-39-">left'</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Either.html#t:Either">Either</a> a c) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Either.html#t:Either">Either</a> b c) <a href="#v:left-39-" class="selflink">#</a></p><p class="src"><a href="#v:right-39-">right'</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Either.html#t:Either">Either</a> c a) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Either.html#t:Either">Either</a> c b) <a href="#v:right-39-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Strong:10" class="instance expander" onclick="toggleSection('i:id:Indexed:Strong:10')"></span> <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Strong.html#t:Strong">Strong</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-199" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Strong:10" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:first-39-">first'</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i (a, c) (b, c) <a href="#v:first-39-" class="selflink">#</a></p><p class="src"><a href="#v:second-39-">second'</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i (c, a) (c, b) <a href="#v:second-39-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Costrong:11" class="instance expander" onclick="toggleSection('i:id:Indexed:Costrong:11')"></span> <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Strong.html#t:Costrong">Costrong</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-172" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Costrong:11" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:unfirst">unfirst</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i (a, d) (b, d) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b <a href="#v:unfirst" class="selflink">#</a></p><p class="src"><a href="#v:unsecond">unsecond</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i (d, a) (d, b) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b <a href="#v:unsecond" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Profunctor:12" class="instance expander" onclick="toggleSection('i:id:Indexed:Profunctor:12')"></span> <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-155" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Profunctor:12" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:dimap">dimap</a> :: (a -&gt; b) -&gt; (c -&gt; d) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i b c -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a d <a href="#v:dimap" class="selflink">#</a></p><p class="src"><a href="#v:lmap">lmap</a> :: (a -&gt; b) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i b c -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a c <a href="#v:lmap" class="selflink">#</a></p><p class="src"><a href="#v:rmap">rmap</a> :: (b -&gt; c) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a c <a href="#v:rmap" class="selflink">#</a></p><p class="src"><a href="#v:-35-.">(#.)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Coerce.html#t:Coercible">Coercible</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> c b =&gt; (b -&gt; c) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a c <a href="#v:-35-." class="selflink">#</a></p><p class="src"><a href="#v:.-35-">(.#)</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Coerce.html#t:Coercible">Coercible</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> b a =&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i b c -&gt; (a -&gt; b) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a c <a href="#v:.-35-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Conjoined:13" class="instance expander" onclick="toggleSection('i:id:Indexed:Conjoined:13')"></span> <a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-239" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Conjoined:13" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:distrib">distrib</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f =&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i (f a) (f b) <a href="src/Control-Lens-Internal-Indexed.html#distrib" class="link">Source</a> <a href="#v:distrib" class="selflink">#</a></p><p class="src"><a href="#v:conjoined">conjoined</a> :: (((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) ~ <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) (-&gt;) -&gt; q (a -&gt; b) r) -&gt; q (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b) r -&gt; q (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b) r <a href="src/Control-Lens-Internal-Indexed.html#conjoined" class="link">Source</a> <a href="#v:conjoined" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Bizarre:14" class="instance expander" onclick="toggleSection('i:id:Indexed:Bizarre:14')"></span> <a href="Control-Lens-Internal-Bazaar.html#t:Bizarre">Bizarre</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>) <a href="Control-Lens-Internal-Magma.html#t:Mafic">Mafic</a></span> <a href="src/Control-Lens-Internal-Bazaar.html#line-197" class="link">Source</a> <a href="#t:Bizarre" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Bizarre:14" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:bazaar">bazaar</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> a (f b) -&gt; <a href="Control-Lens-Internal-Magma.html#t:Mafic">Mafic</a> a b t -&gt; f t <a href="src/Control-Lens-Internal-Bazaar.html#bazaar" class="link">Source</a> <a href="#v:bazaar" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Category:15" class="instance expander" onclick="toggleSection('i:id:Indexed:Category:15')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Category.html#t:Category">Category</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-203" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Category:15" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:id">id</a> :: cat a a <a href="#v:id" class="selflink">#</a></p><p class="src"><a href="#v:.">(.)</a> :: cat b c -&gt; cat a b -&gt; cat a c <a href="#v:." class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Sieve:16" class="instance expander" onclick="toggleSection('i:id:Indexed:Sieve:16')"></span> <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Sieve.html#t:Sieve">Sieve</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) ((-&gt;) i)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-177" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Sieve:16" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:sieve">sieve</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b -&gt; a -&gt; i -&gt; b <a href="#v:sieve" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Cosieve:17" class="instance expander" onclick="toggleSection('i:id:Indexed:Cosieve:17')"></span> <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Sieve.html#t:Cosieve">Cosieve</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.5.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> i)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-186" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Cosieve:17" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:cosieve">cosieve</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b -&gt; (i, a) -&gt; b <a href="#v:cosieve" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Sellable:18" class="instance expander" onclick="toggleSection('i:id:Indexed:Sellable:18')"></span> <a href="Control-Lens-Internal-Context.html#t:Sellable">Sellable</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) (<a href="Control-Lens-Internal-Magma.html#t:Molten">Molten</a> i)</span> <a href="src/Control-Lens-Internal-Context.html#line-128" class="link">Source</a> <a href="#t:Sellable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Sellable:18" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:sell">sell</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a (<a href="Control-Lens-Internal-Magma.html#t:Molten">Molten</a> i a b b) <a href="src/Control-Lens-Internal-Context.html#sell" class="link">Source</a> <a href="#v:sell" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Bizarre:19" class="instance expander" onclick="toggleSection('i:id:Indexed:Bizarre:19')"></span> <a href="Control-Lens-Internal-Bazaar.html#t:Bizarre">Bizarre</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) (<a href="Control-Lens-Internal-Magma.html#t:Molten">Molten</a> i)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-132" class="link">Source</a> <a href="#t:Bizarre" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Bizarre:19" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:bazaar">bazaar</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a (f b) -&gt; <a href="Control-Lens-Internal-Magma.html#t:Molten">Molten</a> i a b t -&gt; f t <a href="src/Control-Lens-Internal-Bazaar.html#bazaar" class="link">Source</a> <a href="#v:bazaar" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Monad:20" class="instance expander" onclick="toggleSection('i:id:Indexed:Monad:20')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-145" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Monad:20" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-62--62--61-">(&gt;&gt;=)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a -&gt; (a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b <a href="#v:-62--62--61-" class="selflink">#</a></p><p class="src"><a href="#v:-62--62-">(&gt;&gt;)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b <a href="#v:-62--62-" class="selflink">#</a></p><p class="src"><a href="#v:return">return</a> :: a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a <a href="#v:return" class="selflink">#</a></p><p class="src"><a href="#v:fail">fail</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-String.html#t:String">String</a> -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a <a href="#v:fail" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Functor:21" class="instance expander" onclick="toggleSection('i:id:Indexed:Functor:21')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-127" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Functor:21" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:MonadFix:22" class="instance expander" onclick="toggleSection('i:id:Indexed:MonadFix:22')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad-Fix.html#t:MonadFix">MonadFix</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-151" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:MonadFix:22" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mfix">mfix</a> :: (a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a <a href="#v:mfix" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Applicative:23" class="instance expander" onclick="toggleSection('i:id:Indexed:Applicative:23')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-135" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Applicative:23" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(&lt;*&gt;)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a (a -&gt; b) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*&gt;)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(&lt;*)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Apply:24" class="instance expander" onclick="toggleSection('i:id:Indexed:Apply:24')"></span> <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-131" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Apply:24" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60-.-62-">(&lt;.&gt;)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a (a -&gt; b) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b <a href="#v:-60-.-62-" class="selflink">#</a></p><p class="src"><a href="#v:.-62-">(.&gt;)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b <a href="#v:.-62-" class="selflink">#</a></p><p class="src"><a href="#v:-60-.">(&lt;.)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a <a href="#v:-60-." class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Bind:25" class="instance expander" onclick="toggleSection('i:id:Indexed:Bind:25')"></span> <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Bind.html#t:Bind">Bind</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-141" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Bind:25" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-62--62--45-">(&gt;&gt;-)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a -&gt; (a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b <a href="#v:-62--62--45-" class="selflink">#</a></p><p class="src"><a href="#v:join">join</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a a <a href="#v:join" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Rep:26" class="instance expander" onclick="toggleSection('i:id:Indexed:Rep:26')"></span> <span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Rep">Rep</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-182" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Rep:26" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Rep">Rep</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) = (-&gt;) i</div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexed:Corep:27" class="instance expander" onclick="toggleSection('i:id:Indexed:Corep:27')"></span> <span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Corep">Corep</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-191" class="link">Source</a> <a href="#t:Indexed" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexed:Corep:27" class="inst-details hide"><div class="src"><span class="keyword">type</span> <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Corep">Corep</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) = <a href="file:///usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.5.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a> i</div></div></td></tr></table></div></div></div><h1 id="g:2">Classes</h1><div class="top"><p class="src"><span class="keyword">class</span> (<a href="Control-Lens-Prism.html#t:Choice">Choice</a> p, <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Corepresentable">Corepresentable</a> p, <a href="file:///usr/share/doc/libghc-comonad-doc/html/Control-Comonad.html#t:Comonad">Comonad</a> (<a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Corep">Corep</a> p), <a href="Control-Lens-Traversal.html#t:Traversable">Traversable</a> (<a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Corep">Corep</a> p), <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Strong.html#t:Strong">Strong</a> p, <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Representable">Representable</a> p, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad.html#t:Monad">Monad</a> (<a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Rep">Rep</a> p), <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Monad-Fix.html#t:MonadFix">MonadFix</a> (<a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Rep">Rep</a> p), <a href="file:///usr/share/doc/libghc-distributive-doc/html/Data-Distributive.html#t:Distributive">Distributive</a> (<a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Rep">Rep</a> p), <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Strong.html#t:Costrong">Costrong</a> p, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Arrow.html#t:ArrowLoop">ArrowLoop</a> p, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Arrow.html#t:ArrowApply">ArrowApply</a> p, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Arrow.html#t:ArrowChoice">ArrowChoice</a> p, <a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Closed.html#t:Closed">Closed</a> p) =&gt; <a id="t:Conjoined" class="def">Conjoined</a> p <span class="keyword">where</span> <a href="src/Control-Lens-Internal-Indexed.html#Conjoined" class="link">Source</a> <a href="#t:Conjoined" class="selflink">#</a></p><div class="doc"><p>This is a <code><a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a></code> that is both <code><a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Corepresentable">Corepresentable</a></code> by <code>f</code> and <code><a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Representable">Representable</a></code> by <code>g</code> such
 that <code>f</code> is left adjoint to <code>g</code>. From this you can derive a lot of structure due
 to the preservation of limits and colimits.</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:distrib" class="def">distrib</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f =&gt; p a b -&gt; p (f a) (f b) <a href="src/Control-Lens-Internal-Indexed.html#distrib" class="link">Source</a> <a href="#v:distrib" class="selflink">#</a></p><div class="doc"><p><code><a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a></code> is strong enough to let us distribute every <code><a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a></code>
 <code><a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a></code> over every Haskell <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code>. This is effectively a
 generalization of <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#v:fmap">fmap</a></code>.</p></div><p class="src"><a id="v:conjoined" class="def">conjoined</a> :: (p ~ (-&gt;) =&gt; q (a -&gt; b) r) -&gt; q (p a b) r -&gt; q (p a b) r <a href="src/Control-Lens-Internal-Indexed.html#conjoined" class="link">Source</a> <a href="#v:conjoined" class="selflink">#</a></p><div class="doc"><p>This permits us to make a decision at an outermost point about whether or not we use an index.</p><p>Ideally any use of this function should be done in such a way so that you compute the same answer,
 but this cannot be enforced at the type level.</p></div></div><div class="subs instances"><p id="control.i:Conjoined" class="caption collapser" onclick="toggleSection('i:Conjoined')">Instances</p><div id="section.i:Conjoined" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Conjoined:Conjoined:1" class="instance expander" onclick="toggleSection('i:ic:Conjoined:Conjoined:1')"></span> <a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> (-&gt;)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-97" class="link">Source</a> <a href="#t:Conjoined" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Conjoined:Conjoined:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:distrib">distrib</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f =&gt; (a -&gt; b) -&gt; f a -&gt; f b <a href="src/Control-Lens-Internal-Indexed.html#distrib" class="link">Source</a> <a href="#v:distrib" class="selflink">#</a></p><p class="src"><a href="#v:conjoined">conjoined</a> :: (((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) ~ (-&gt;)) (-&gt;) -&gt; q (a -&gt; b) r) -&gt; q (a -&gt; b) r -&gt; q (a -&gt; b) r <a href="src/Control-Lens-Internal-Indexed.html#conjoined" class="link">Source</a> <a href="#v:conjoined" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Conjoined:Conjoined:2" class="instance expander" onclick="toggleSection('i:ic:Conjoined:Conjoined:2')"></span> <a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> <a href="Control-Lens-Reified.html#t:ReifiedGetter">ReifiedGetter</a></span> <a href="src/Control-Lens-Internal-Indexed.html#line-193" class="link">Source</a> <a href="#t:Conjoined" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Conjoined:Conjoined:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:distrib">distrib</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f =&gt; <a href="Control-Lens-Reified.html#t:ReifiedGetter">ReifiedGetter</a> a b -&gt; <a href="Control-Lens-Reified.html#t:ReifiedGetter">ReifiedGetter</a> (f a) (f b) <a href="src/Control-Lens-Internal-Indexed.html#distrib" class="link">Source</a> <a href="#v:distrib" class="selflink">#</a></p><p class="src"><a href="#v:conjoined">conjoined</a> :: (((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) ~ <a href="Control-Lens-Reified.html#t:ReifiedGetter">ReifiedGetter</a>) (-&gt;) -&gt; q (a -&gt; b) r) -&gt; q (<a href="Control-Lens-Reified.html#t:ReifiedGetter">ReifiedGetter</a> a b) r -&gt; q (<a href="Control-Lens-Reified.html#t:ReifiedGetter">ReifiedGetter</a> a b) r <a href="src/Control-Lens-Internal-Indexed.html#conjoined" class="link">Source</a> <a href="#v:conjoined" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Conjoined:Conjoined:3" class="instance expander" onclick="toggleSection('i:ic:Conjoined:Conjoined:3')"></span> <a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-239" class="link">Source</a> <a href="#t:Conjoined" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Conjoined:Conjoined:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:distrib">distrib</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f =&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i (f a) (f b) <a href="src/Control-Lens-Internal-Indexed.html#distrib" class="link">Source</a> <a href="#v:distrib" class="selflink">#</a></p><p class="src"><a href="#v:conjoined">conjoined</a> :: (((<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) ~ <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i) (-&gt;) -&gt; q (a -&gt; b) r) -&gt; q (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b) r -&gt; q (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i a b) r <a href="src/Control-Lens-Internal-Indexed.html#conjoined" class="link">Source</a> <a href="#v:conjoined" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p =&gt; <a id="t:Indexable" class="def">Indexable</a> i p <span class="keyword">where</span> <a href="src/Control-Lens-Internal-Indexed.html#Indexable" class="link">Source</a> <a href="#t:Indexable" class="selflink">#</a></p><div class="doc"><p>This class permits overloading of function application for things that
 also admit a notion of a key or index.</p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Control-Lens-Internal-Indexed.html#v:indexed">indexed</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:indexed" class="def">indexed</a> :: p a b -&gt; i -&gt; a -&gt; b <a href="src/Control-Lens-Internal-Indexed.html#indexed" class="link">Source</a> <a href="#v:indexed" class="selflink">#</a></p><div class="doc"><p>Build a function from an <code><a href="Control-Lens-Internal-Indexed.html#v:indexed">indexed</a></code> function.</p></div></div><div class="subs instances"><p id="control.i:Indexable" class="caption collapser" onclick="toggleSection('i:Indexable')">Instances</p><div id="section.i:Indexable" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Indexable:Indexable:1" class="instance expander" onclick="toggleSection('i:ic:Indexable:Indexable:1')"></span> <a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i (-&gt;)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-113" class="link">Source</a> <a href="#t:Indexable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Indexable:Indexable:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:indexed">indexed</a> :: (a -&gt; b) -&gt; i -&gt; a -&gt; b <a href="src/Control-Lens-Internal-Indexed.html#indexed" class="link">Source</a> <a href="#v:indexed" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Indexable:Indexable:2" class="instance expander" onclick="toggleSection('i:ic:Indexable:Indexable:2')"></span> (~) <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> i j =&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i (<a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> j)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-243" class="link">Source</a> <a href="#t:Indexable" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Indexable:Indexable:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:indexed">indexed</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> j a b -&gt; i -&gt; a -&gt; b <a href="src/Control-Lens-Internal-Indexed.html#indexed" class="link">Source</a> <a href="#v:indexed" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><h1 id="g:3">Indexing</h1><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:Indexing" class="def">Indexing</a> f a <a href="src/Control-Lens-Internal-Indexed.html#Indexing" class="link">Source</a> <a href="#t:Indexing" class="selflink">#</a></p><div class="doc"><p><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> composition of <code><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-State-Lazy.html#v:State">State</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></code></code> with a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.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 id="v:Indexing" class="def">Indexing</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:runIndexing" class="def">runIndexing</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a>, f a)</dfn><div class="doc empty">&nbsp;</div></li></ul></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 clearfix"><span class="inst-left"><span id="control.i:id:Indexing:Functor:1" class="instance expander" onclick="toggleSection('i:id:Indexing:Functor:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-255" class="link">Source</a> <a href="#t:Indexing" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexing:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexing:Applicative:2" class="instance expander" onclick="toggleSection('i:id:Indexing:Applicative:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-266" class="link">Source</a> <a href="#t:Indexing" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexing:Applicative:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(&lt;*&gt;)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f (a -&gt; b) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*&gt;)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(&lt;*)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexing:Contravariant:3" class="instance expander" onclick="toggleSection('i:id:Indexing:Contravariant:3')"></span> <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> f =&gt; <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-274" class="link">Source</a> <a href="#t:Indexing" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexing:Contravariant:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:contramap">contramap</a> :: (a -&gt; b) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f a <a href="#v:contramap" class="selflink">#</a></p><p class="src"><a href="#v:-62--36-">(&gt;$)</a> :: b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f a <a href="#v:-62--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexing:Apply:4" class="instance expander" onclick="toggleSection('i:id:Indexing:Apply:4')"></span> <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> f =&gt; <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-260" class="link">Source</a> <a href="#t:Indexing" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexing:Apply:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60-.-62-">(&lt;.&gt;)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f (a -&gt; b) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f b <a href="#v:-60-.-62-" class="selflink">#</a></p><p class="src"><a href="#v:.-62-">(.&gt;)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f b <a href="#v:.-62-" class="selflink">#</a></p><p class="src"><a href="#v:-60-.">(&lt;.)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f a <a href="#v:-60-." class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:indexing" class="def">indexing</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a> p =&gt; ((a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f b) -&gt; s -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a> f t) -&gt; p a (f b) -&gt; s -&gt; f t <a href="src/Control-Lens-Internal-Indexed.html#indexing" class="link">Source</a> <a href="#v:indexing" class="selflink">#</a></p><div class="doc"><p>Transform a <code><a href="Control-Lens-Traversal.html#v:Traversal">Traversal</a></code> into an <code><a href="Control-Lens-Traversal.html#v:IndexedTraversal">IndexedTraversal</a></code> or
 a <code><a href="Control-Lens-Fold.html#v:Fold">Fold</a></code> into an <code><a href="Control-Lens-Fold.html#v:IndexedFold">IndexedFold</a></code>, etc.</p><pre><code><a href="Control-Lens-Internal-Indexed.html#v:indexing">indexing</a></code> :: <code><a href="Control-Lens-Type.html#v:Traversal">Traversal</a></code> s t a b -&gt; <code><a href="Control-Lens-Type.html#v:IndexedTraversal">IndexedTraversal</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></code> s t a b
<code><a href="Control-Lens-Internal-Indexed.html#v:indexing">indexing</a></code> :: <code><a href="Control-Lens-Type.html#v:Prism">Prism</a></code> s t a b     -&gt; <code><a href="Control-Lens-Type.html#v:IndexedTraversal">IndexedTraversal</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></code> s t a b
<code><a href="Control-Lens-Internal-Indexed.html#v:indexing">indexing</a></code> :: <code><a href="Control-Lens-Type.html#v:Lens">Lens</a></code> s t a b      -&gt; <code><a href="Control-Lens-Type.html#v:IndexedLens">IndexedLens</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></code>  s t a b
<code><a href="Control-Lens-Internal-Indexed.html#v:indexing">indexing</a></code> :: <code><a href="Control-Lens-Type.html#v:Iso">Iso</a></code> s t a b       -&gt; <code><a href="Control-Lens-Type.html#v:IndexedLens">IndexedLens</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></code> s t a b
<code><a href="Control-Lens-Internal-Indexed.html#v:indexing">indexing</a></code> :: <code><a href="Control-Lens-Type.html#v:Fold">Fold</a></code> s a          -&gt; <code><a href="Control-Lens-Type.html#v:IndexedFold">IndexedFold</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></code> s a
<code><a href="Control-Lens-Internal-Indexed.html#v:indexing">indexing</a></code> :: <code><a href="Control-Lens-Type.html#v:Getter">Getter</a></code> s a        -&gt; <code><a href="Control-Lens-Type.html#v:IndexedGetter">IndexedGetter</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></code> s a
</pre><pre><code><a href="Control-Lens-Internal-Indexed.html#v:indexing">indexing</a></code> :: <code><a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int">Int</a></code> p =&gt; <code><a href="Control-Lens-Type.html#v:LensLike">LensLike</a></code> (<code><a href="Control-Lens-Internal-Indexed.html#t:Indexing">Indexing</a></code> f) s t a b -&gt; <code><a href="Control-Lens-Type.html#v:Over">Over</a></code> p f s t a b</pre></div></div><h1 id="g:4">64-bit Indexing</h1><div class="top"><p class="src"><span class="keyword">newtype</span> <a id="t:Indexing64" class="def">Indexing64</a> f a <a href="src/Control-Lens-Internal-Indexed.html#Indexing64" class="link">Source</a> <a href="#t:Indexing64" class="selflink">#</a></p><div class="doc"><p><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a></code> composition of <code><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/transformers-0.5.2.0/Control-Monad-Trans-State-Lazy.html#v:State">State</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a></code></code> with a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code>, used
 by <code><a href="Control-Lens-Indexed.html#v:indexed64">indexed64</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Indexing64" class="def">Indexing64</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:runIndexing64" class="def">runIndexing64</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a> -&gt; (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a>, f a)</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i:Indexing64" class="caption collapser" onclick="toggleSection('i:Indexing64')">Instances</p><div id="section.i:Indexing64" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexing64:Functor:1" class="instance expander" onclick="toggleSection('i:id:Indexing64:Functor:1')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-304" class="link">Source</a> <a href="#t:Indexing64" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexing64:Functor:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fmap">fmap</a> :: (a -&gt; b) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f b <a href="#v:fmap" class="selflink">#</a></p><p class="src"><a href="#v:-60--36-">(&lt;$)</a> :: a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f a <a href="#v:-60--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexing64:Applicative:2" class="instance expander" onclick="toggleSection('i:id:Indexing64:Applicative:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-315" class="link">Source</a> <a href="#t:Indexing64" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexing64:Applicative:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:pure">pure</a> :: a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f a <a href="#v:pure" class="selflink">#</a></p><p class="src"><a href="#v:-60--42--62-">(&lt;*&gt;)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f (a -&gt; b) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f b <a href="#v:-60--42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-42--62-">(*&gt;)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f b <a href="#v:-42--62-" class="selflink">#</a></p><p class="src"><a href="#v:-60--42-">(&lt;*)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f a <a href="#v:-60--42-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexing64:Contravariant:3" class="instance expander" onclick="toggleSection('i:id:Indexing64:Contravariant:3')"></span> <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> f =&gt; <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-323" class="link">Source</a> <a href="#t:Indexing64" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexing64:Contravariant:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:contramap">contramap</a> :: (a -&gt; b) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f a <a href="#v:contramap" class="selflink">#</a></p><p class="src"><a href="#v:-62--36-">(&gt;$)</a> :: b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f a <a href="#v:-62--36-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id:Indexing64:Apply:4" class="instance expander" onclick="toggleSection('i:id:Indexing64:Apply:4')"></span> <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> f =&gt; <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> (<a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f)</span> <a href="src/Control-Lens-Internal-Indexed.html#line-309" class="link">Source</a> <a href="#t:Indexing64" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id:Indexing64:Apply:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60-.-62-">(&lt;.&gt;)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f (a -&gt; b) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f b <a href="#v:-60-.-62-" class="selflink">#</a></p><p class="src"><a href="#v:.-62-">(.&gt;)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f b <a href="#v:.-62-" class="selflink">#</a></p><p class="src"><a href="#v:-60-.">(&lt;.)</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f b -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f a <a href="#v:-60-." class="selflink">#</a></p></div></div></td></tr></table></div></div></div><div class="top"><p class="src"><a id="v:indexing64" class="def">indexing64</a> :: <a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a> p =&gt; ((a -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f b) -&gt; s -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a> f t) -&gt; p a (f b) -&gt; s -&gt; f t <a href="src/Control-Lens-Internal-Indexed.html#indexing64" class="link">Source</a> <a href="#v:indexing64" class="selflink">#</a></p><div class="doc"><p>Transform a <code><a href="Control-Lens-Traversal.html#v:Traversal">Traversal</a></code> into an <code><a href="Control-Lens-Traversal.html#v:IndexedTraversal">IndexedTraversal</a></code> or
 a <code><a href="Control-Lens-Fold.html#v:Fold">Fold</a></code> into an <code><a href="Control-Lens-Fold.html#v:IndexedFold">IndexedFold</a></code>, etc.</p><p>This combinator is like <code><a href="Control-Lens-Internal-Indexed.html#v:indexing">indexing</a></code> except that it handles large traversals and folds gracefully.</p><pre><code><a href="Control-Lens-Internal-Indexed.html#v:indexing64">indexing64</a></code> :: <code><a href="Control-Lens-Type.html#v:Traversal">Traversal</a></code> s t a b -&gt; <code><a href="Control-Lens-Type.html#v:IndexedTraversal">IndexedTraversal</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a></code> s t a b
<code><a href="Control-Lens-Internal-Indexed.html#v:indexing64">indexing64</a></code> :: <code><a href="Control-Lens-Type.html#v:Prism">Prism</a></code> s t a b     -&gt; <code><a href="Control-Lens-Type.html#v:IndexedTraversal">IndexedTraversal</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a></code> s t a b
<code><a href="Control-Lens-Internal-Indexed.html#v:indexing64">indexing64</a></code> :: <code><a href="Control-Lens-Type.html#v:Lens">Lens</a></code> s t a b      -&gt; <code><a href="Control-Lens-Type.html#v:IndexedLens">IndexedLens</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a></code> s t a b
<code><a href="Control-Lens-Internal-Indexed.html#v:indexing64">indexing64</a></code> :: <code><a href="Control-Lens-Type.html#v:Iso">Iso</a></code> s t a b       -&gt; <code><a href="Control-Lens-Type.html#v:IndexedLens">IndexedLens</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a></code> s t a b
<code><a href="Control-Lens-Internal-Indexed.html#v:indexing64">indexing64</a></code> :: <code><a href="Control-Lens-Type.html#v:Fold">Fold</a></code> s a          -&gt; <code><a href="Control-Lens-Type.html#v:IndexedFold">IndexedFold</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a></code> s a
<code><a href="Control-Lens-Internal-Indexed.html#v:indexing64">indexing64</a></code> :: <code><a href="Control-Lens-Type.html#v:Getter">Getter</a></code> s a        -&gt; <code><a href="Control-Lens-Type.html#v:IndexedGetter">IndexedGetter</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a></code> s a
</pre><pre><code><a href="Control-Lens-Internal-Indexed.html#v:indexing64">indexing64</a></code> :: <code><a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Int.html#t:Int64">Int64</a></code> p =&gt; <code><a href="Control-Lens-Type.html#v:LensLike">LensLike</a></code> (<code><a href="Control-Lens-Internal-Indexed.html#t:Indexing64">Indexing64</a></code> f) s t a b -&gt; <code><a href="Control-Lens-Type.html#v:Over">Over</a></code> p f s t a b</pre></div></div><h1 id="g:5">Converting to Folds</h1><div class="top"><p class="src"><a id="v:withIndex" class="def">withIndex</a> :: (<a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i p, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f) =&gt; p (i, s) (f (j, t)) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i s (f t) <a href="src/Control-Lens-Internal-Indexed.html#withIndex" class="link">Source</a> <a href="#v:withIndex" class="selflink">#</a></p><div class="doc"><p>Fold a container with indices returning both the indices and the values.</p><p>The result is only valid to compose in a <code>Traversal</code>, if you don't edit the
 index as edits to the index have no effect.</p><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>[10, 20, 30] ^.. ifolded . withIndex
</code></strong>[(0,10),(1,20),(2,30)]
</pre><pre class="screen"><code class="prompt">&gt;&gt;&gt; </code><strong class="userinput"><code>[10, 20, 30] ^.. ifolded . withIndex . alongside negated (re _Show)
</code></strong>[(0,&quot;10&quot;),(-1,&quot;20&quot;),(-2,&quot;30&quot;)]
</pre></div></div><div class="top"><p class="src"><a id="v:asIndex" class="def">asIndex</a> :: (<a href="Control-Lens-Internal-Indexed.html#t:Indexable">Indexable</a> i p, <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> f, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a> f) =&gt; p i (f i) -&gt; <a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a> i s (f s) <a href="src/Control-Lens-Internal-Indexed.html#asIndex" class="link">Source</a> <a href="#v:asIndex" class="selflink">#</a></p><div class="doc"><p>When composed with an <code>IndexedFold</code> or <code>IndexedTraversal</code> this yields an
 (<code><a href="Control-Lens-Internal-Indexed.html#t:Indexed">Indexed</a></code>) <code>Fold</code> of the indices.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.17.3</p></div></body></html>