This file is indexed.

/usr/share/doc/libghc-lens-doc/html/Control-Lens-Internal-Bazaar.html is in libghc-lens-doc 4.13-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<!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.Bazaar</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-Bazaar.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Control-Lens-Internal-Bazaar.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">lens-4.13: Lenses, Folds and Traversals</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Copyright</th><td>(C) 2012-2015 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.Bazaar</p></div><div id="description"><p class="caption">Description</p><div class="doc empty">&nbsp;</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">class</span> <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="#t:Bizarre">Bizarre</a> p w | w -&gt; p <span class="keyword">where</span><ul class="subs"><li><a href="#v:bazaar">bazaar</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; p a (f b) -&gt; w a b t -&gt; f t</li></ul></li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Bazaar">Bazaar</a> p a b t = <a href="#v:Bazaar">Bazaar</a> {<ul class="subs"><li><a href="#v:runBazaar">runBazaar</a> :: <span class="keyword">forall</span> f. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; p a (f b) -&gt; f t</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:Bazaar-39-">Bazaar'</a> p a = <a href="Control-Lens-Internal-Bazaar.html#t:Bazaar">Bazaar</a> p a a</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:BazaarT">BazaarT</a> p g a b t = <a href="#v:BazaarT">BazaarT</a> {<ul class="subs"><li><a href="#v:runBazaarT">runBazaarT</a> :: <span class="keyword">forall</span> f. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; p a (f b) -&gt; f t</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:BazaarT-39-">BazaarT'</a> p g a = <a href="Control-Lens-Internal-Bazaar.html#t:BazaarT">BazaarT</a> p g a a</li><li class="src short"><span class="keyword">class</span> <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="#t:Bizarre1">Bizarre1</a> p w | w -&gt; p <span class="keyword">where</span><ul class="subs"><li><a href="#v:bazaar1">bazaar1</a> :: <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> f =&gt; p a (f b) -&gt; w a b t -&gt; f t</li></ul></li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Bazaar1">Bazaar1</a> p a b t = <a href="#v:Bazaar1">Bazaar1</a> {<ul class="subs"><li><a href="#v:runBazaar1">runBazaar1</a> :: <span class="keyword">forall</span> f. <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> f =&gt; p a (f b) -&gt; f t</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:Bazaar1-39-">Bazaar1'</a> p a = <a href="Control-Lens-Internal-Bazaar.html#t:Bazaar1">Bazaar1</a> p a a</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:BazaarT1">BazaarT1</a> p g a b t = <a href="#v:BazaarT1">BazaarT1</a> {<ul class="subs"><li><a href="#v:runBazaarT1">runBazaarT1</a> :: <span class="keyword">forall</span> f. <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> f =&gt; p a (f b) -&gt; f t</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:BazaarT1-39-">BazaarT1'</a> p g a = <a href="Control-Lens-Internal-Bazaar.html#t:BazaarT1">BazaarT1</a> p g a a</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">class</span> <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a name="t:Bizarre" class="def">Bizarre</a> p w | w -&gt; p <span class="keyword">where</span> <a href="src/Control-Lens-Internal-Bazaar.html#Bizarre" class="link">Source</a></p><div class="doc"><p>This class is used to run the various <code><a href="Control-Lens-Internal-Bazaar.html#t:Bazaar">Bazaar</a></code> variants used in this
 library.</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:bazaar" class="def">bazaar</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; p a (f b) -&gt; w a b t -&gt; f t <a href="src/Control-Lens-Internal-Bazaar.html#bazaar" class="link">Source</a></p></div><div class="subs instances"><p id="control.i:Bizarre" class="caption collapser" onclick="toggleSection('i:Bizarre')">Instances</p><div id="section.i:Bizarre" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Internal-Bazaar.html#t:Bizarre">Bizarre</a> p (<a href="Control-Lens-Internal-Bazaar.html#t:Bazaar">Bazaar</a> p)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-102" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Internal-Bazaar.html#t:Bizarre">Bizarre</a> p (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT">BazaarT</a> p g)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-165" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Corepresentable">Corepresentable</a> p =&gt; <a href="Control-Lens-Internal-Bazaar.html#t:Bizarre">Bizarre</a> p (<a href="Control-Lens-Internal-Magma.html#t:TakingWhile">TakingWhile</a> p g)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-245" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><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.8.2.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></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><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></td><td class="doc empty">&nbsp;</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> p a b t <a href="src/Control-Lens-Internal-Bazaar.html#Bazaar" class="link">Source</a></p><div class="doc"><p>This is used to characterize a <code><a href="Control-Lens-Traversal.html#v: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>A <code><a href="Control-Lens-Internal-Bazaar.html#t:Bazaar">Bazaar</a></code> is like a <code><a href="Control-Lens-Traversal.html#v:Traversal">Traversal</a></code> that has already been applied to some structure.</p><p>Where a <code><code><a href="Control-Lens-Internal-Context.html#t:Context">Context</a></code> a b t</code> holds an <code>a</code> and a function from <code>b</code> to
 <code>t</code>, a <code><code><a href="Control-Lens-Internal-Bazaar.html#t:Bazaar">Bazaar</a></code> a b t</code> holds <code>N</code> <code>a</code>s and a function from <code>N</code>
 <code>b</code>s to <code>t</code>, (where <code>N</code> might be infinite).</p><p>Mnemonically, a <code><a href="Control-Lens-Internal-Bazaar.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-Bazaar.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">&nbsp;</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="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; p a (f b) -&gt; f t</dt><dd class="doc empty">&nbsp;</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 clearfix"><span class="inst-left"><a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Corepresentable">Corepresentable</a> p =&gt; <a href="Control-Lens-Internal-Context.html#t:Sellable">Sellable</a> p (<a href="Control-Lens-Internal-Bazaar.html#t:Bazaar">Bazaar</a> p)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-98" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Internal-Bazaar.html#t:Bizarre">Bizarre</a> p (<a href="Control-Lens-Internal-Bazaar.html#t:Bazaar">Bazaar</a> p)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-102" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p =&gt; <a href="Control-Lens-Internal-Context.html#t:IndexedComonad">IndexedComonad</a> (<a href="Control-Lens-Internal-Bazaar.html#t:Bazaar">Bazaar</a> p)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-92" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Control-Lens-Internal-Context.html#t:IndexedFunctor">IndexedFunctor</a> (<a href="Control-Lens-Internal-Bazaar.html#t:Bazaar">Bazaar</a> p)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-88" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal-Bazaar.html#t:Bazaar">Bazaar</a> p a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-106" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Control-Lens-Internal-Bazaar.html#t:Bazaar">Bazaar</a> p a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-114" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left">((~) * a b, <a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p) =&gt; <a href="file:///usr/share/doc/libghc-comonad-doc/html/Control-Comonad.html#t:Comonad">Comonad</a> (<a href="Control-Lens-Internal-Bazaar.html#t:Bazaar">Bazaar</a> p a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-120" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left">((~) * a b, <a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p) =&gt; <a href="file:///usr/share/doc/libghc-comonad-doc/html/Control-Comonad.html#t:ComonadApply">ComonadApply</a> (<a href="Control-Lens-Internal-Bazaar.html#t:Bazaar">Bazaar</a> p a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-126" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> (<a href="Control-Lens-Internal-Bazaar.html#t:Bazaar">Bazaar</a> p a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-110" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Bazaar-39-" class="def">Bazaar'</a> p a = <a href="Control-Lens-Internal-Bazaar.html#t:Bazaar">Bazaar</a> p a a <a href="src/Control-Lens-Internal-Bazaar.html#Bazaar%27" class="link">Source</a></p><div class="doc"><p>This alias is helpful when it comes to reducing repetition in type signatures.</p><pre>type <code><a href="Control-Lens-Internal-Bazaar.html#t:Bazaar-39-">Bazaar'</a></code> p a t = <code><a href="Control-Lens-Internal-Bazaar.html#t:Bazaar">Bazaar</a></code> p a a t
</pre></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:BazaarT" class="def">BazaarT</a> p g a b t <a href="src/Control-Lens-Internal-Bazaar.html#BazaarT" class="link">Source</a></p><div class="doc"><p><code><a href="Control-Lens-Internal-Bazaar.html#t:BazaarT">BazaarT</a></code> is like <code><a href="Control-Lens-Internal-Bazaar.html#t:Bazaar">Bazaar</a></code>, except that it provides a questionable <code><a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a></code> instance
 To protect this instance it relies on the soundness of another <code><a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a></code> type, and usage conventions.</p><p>For example. This lets us write a suitably polymorphic and lazy <code><a href="Control-Lens-Traversal.html#v:taking">taking</a></code>, but there
 must be a better way!</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:BazaarT" class="def">BazaarT</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:runBazaarT" class="def">runBazaarT</a> :: <span class="keyword">forall</span> f. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Applicative.html#t:Applicative">Applicative</a> f =&gt; p a (f b) -&gt; f t</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:BazaarT" class="caption collapser" onclick="toggleSection('i:BazaarT')">Instances</p><div id="section.i:BazaarT" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Corepresentable">Corepresentable</a> p =&gt; <a href="Control-Lens-Internal-Context.html#t:Sellable">Sellable</a> p (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT">BazaarT</a> p g)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-161" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Internal-Bazaar.html#t:Bizarre">Bizarre</a> p (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT">BazaarT</a> p g)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-165" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p =&gt; <a href="Control-Lens-Internal-Context.html#t:IndexedComonad">IndexedComonad</a> (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT">BazaarT</a> p g)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-155" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Control-Lens-Internal-Context.html#t:IndexedFunctor">IndexedFunctor</a> (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT">BazaarT</a> p g)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-151" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT">BazaarT</a> p g a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-169" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT">BazaarT</a> p g a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-177" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left">((~) * a b, <a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p) =&gt; <a href="file:///usr/share/doc/libghc-comonad-doc/html/Control-Comonad.html#t:Comonad">Comonad</a> (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT">BazaarT</a> p g a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-183" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left">((~) * a b, <a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p) =&gt; <a href="file:///usr/share/doc/libghc-comonad-doc/html/Control-Comonad.html#t:ComonadApply">ComonadApply</a> (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT">BazaarT</a> p g a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-189" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left">(<a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p, <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> g) =&gt; <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT">BazaarT</a> p g a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-193" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT">BazaarT</a> p g a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-173" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> g =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT">BazaarT</a> p g a b t)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-201" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> g =&gt; <a href="file:///usr/share/doc/libghc-semigroups-doc/html/Data-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT">BazaarT</a> p g a b t)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-197" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:BazaarT-39-" class="def">BazaarT'</a> p g a = <a href="Control-Lens-Internal-Bazaar.html#t:BazaarT">BazaarT</a> p g a a <a href="src/Control-Lens-Internal-Bazaar.html#BazaarT%27" class="link">Source</a></p><div class="doc"><p>This alias is helpful when it comes to reducing repetition in type signatures.</p><pre>type <code><a href="Control-Lens-Internal-Bazaar.html#t:BazaarT-39-">BazaarT'</a></code> p g a t = <code><a href="Control-Lens-Internal-Bazaar.html#t:BazaarT">BazaarT</a></code> p g a a t
</pre></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a name="t:Bizarre1" class="def">Bizarre1</a> p w | w -&gt; p <span class="keyword">where</span> <a href="src/Control-Lens-Internal-Bazaar.html#Bizarre1" class="link">Source</a></p><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:bazaar1" class="def">bazaar1</a> :: <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> f =&gt; p a (f b) -&gt; w a b t -&gt; f t <a href="src/Control-Lens-Internal-Bazaar.html#bazaar1" class="link">Source</a></p></div><div class="subs instances"><p id="control.i:Bizarre1" class="caption collapser" onclick="toggleSection('i:Bizarre1')">Instances</p><div id="section.i:Bizarre1" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Internal-Bazaar.html#t:Bizarre1">Bizarre1</a> p (<a href="Control-Lens-Internal-Bazaar.html#t:Bazaar1">Bazaar1</a> p)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-258" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Internal-Bazaar.html#t:Bizarre1">Bizarre1</a> p (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT1">BazaarT1</a> p g)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-315" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:Bazaar1" class="def">Bazaar1</a> p a b t <a href="src/Control-Lens-Internal-Bazaar.html#Bazaar1" class="link">Source</a></p><div class="doc"><p>This is used to characterize a <code><a href="Control-Lens-Traversal.html#v: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>A <code><a href="Control-Lens-Internal-Bazaar.html#t:Bazaar1">Bazaar1</a></code> is like a <code><a href="Control-Lens-Traversal.html#v:Traversal">Traversal</a></code> that has already been applied to some structure.</p><p>Where a <code><code><a href="Control-Lens-Internal-Context.html#t:Context">Context</a></code> a b t</code> holds an <code>a</code> and a function from <code>b</code> to
 <code>t</code>, a <code><code><a href="Control-Lens-Internal-Bazaar.html#t:Bazaar1">Bazaar1</a></code> a b t</code> holds <code>N</code> <code>a</code>s and a function from <code>N</code>
 <code>b</code>s to <code>t</code>, (where <code>N</code> might be infinite).</p><p>Mnemonically, a <code><a href="Control-Lens-Internal-Bazaar.html#t:Bazaar1">Bazaar1</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-Bazaar.html#t:Bazaar1">Bazaar1</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Bazaar1" class="def">Bazaar1</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:runBazaar1" class="def">runBazaar1</a> :: <span class="keyword">forall</span> f. <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> f =&gt; p a (f b) -&gt; f t</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Bazaar1" class="caption collapser" onclick="toggleSection('i:Bazaar1')">Instances</p><div id="section.i:Bazaar1" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Corepresentable">Corepresentable</a> p =&gt; <a href="Control-Lens-Internal-Context.html#t:Sellable">Sellable</a> p (<a href="Control-Lens-Internal-Bazaar.html#t:Bazaar1">Bazaar1</a> p)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-254" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Internal-Bazaar.html#t:Bizarre1">Bizarre1</a> p (<a href="Control-Lens-Internal-Bazaar.html#t:Bazaar1">Bazaar1</a> p)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-258" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p =&gt; <a href="Control-Lens-Internal-Context.html#t:IndexedComonad">IndexedComonad</a> (<a href="Control-Lens-Internal-Bazaar.html#t:Bazaar1">Bazaar1</a> p)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-248" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Control-Lens-Internal-Context.html#t:IndexedFunctor">IndexedFunctor</a> (<a href="Control-Lens-Internal-Bazaar.html#t:Bazaar1">Bazaar1</a> p)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-244" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal-Bazaar.html#t:Bazaar1">Bazaar1</a> p a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-262" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left">((~) * a b, <a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p) =&gt; <a href="file:///usr/share/doc/libghc-comonad-doc/html/Control-Comonad.html#t:Comonad">Comonad</a> (<a href="Control-Lens-Internal-Bazaar.html#t:Bazaar1">Bazaar1</a> p a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-270" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left">((~) * a b, <a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p) =&gt; <a href="file:///usr/share/doc/libghc-comonad-doc/html/Control-Comonad.html#t:ComonadApply">ComonadApply</a> (<a href="Control-Lens-Internal-Bazaar.html#t:Bazaar1">Bazaar1</a> p a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-276" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> (<a href="Control-Lens-Internal-Bazaar.html#t:Bazaar1">Bazaar1</a> p a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-266" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Bazaar1-39-" class="def">Bazaar1'</a> p a = <a href="Control-Lens-Internal-Bazaar.html#t:Bazaar1">Bazaar1</a> p a a <a href="src/Control-Lens-Internal-Bazaar.html#Bazaar1%27" class="link">Source</a></p><div class="doc"><p>This alias is helpful when it comes to reducing repetition in type signatures.</p><pre>type <code><a href="Control-Lens-Internal-Bazaar.html#t:Bazaar1-39-">Bazaar1'</a></code> p a t = <code><a href="Control-Lens-Internal-Bazaar.html#t:Bazaar1">Bazaar1</a></code> p a a t
</pre></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:BazaarT1" class="def">BazaarT1</a> p g a b t <a href="src/Control-Lens-Internal-Bazaar.html#BazaarT1" class="link">Source</a></p><div class="doc"><p><code><a href="Control-Lens-Internal-Bazaar.html#t:BazaarT1">BazaarT1</a></code> is like <code><a href="Control-Lens-Internal-Bazaar.html#t:Bazaar1">Bazaar1</a></code>, except that it provides a questionable <code><a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a></code> instance
 To protect this instance it relies on the soundness of another <code><a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a></code> type, and usage conventions.</p><p>For example. This lets us write a suitably polymorphic and lazy <code><a href="Control-Lens-Traversal.html#v:taking">taking</a></code>, but there
 must be a better way!</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:BazaarT1" class="def">BazaarT1</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:runBazaarT1" class="def">runBazaarT1</a> :: <span class="keyword">forall</span> f. <a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> f =&gt; p a (f b) -&gt; f t</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:BazaarT1" class="caption collapser" onclick="toggleSection('i:BazaarT1')">Instances</p><div id="section.i:BazaarT1" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor-Rep.html#t:Corepresentable">Corepresentable</a> p =&gt; <a href="Control-Lens-Internal-Context.html#t:Sellable">Sellable</a> p (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT1">BazaarT1</a> p g)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-311" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Control-Lens-Internal-Bazaar.html#t:Bizarre1">Bizarre1</a> p (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT1">BazaarT1</a> p g)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-315" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p =&gt; <a href="Control-Lens-Internal-Context.html#t:IndexedComonad">IndexedComonad</a> (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT1">BazaarT1</a> p g)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-305" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Control-Lens-Internal-Context.html#t:IndexedFunctor">IndexedFunctor</a> (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT1">BazaarT1</a> p g)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-301" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT1">BazaarT1</a> p g a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-319" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left">((~) * a b, <a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p) =&gt; <a href="file:///usr/share/doc/libghc-comonad-doc/html/Control-Comonad.html#t:Comonad">Comonad</a> (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT1">BazaarT1</a> p g a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-327" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left">((~) * a b, <a href="Control-Lens-Internal-Indexed.html#t:Conjoined">Conjoined</a> p) =&gt; <a href="file:///usr/share/doc/libghc-comonad-doc/html/Control-Comonad.html#t:ComonadApply">ComonadApply</a> (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT1">BazaarT1</a> p g a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-333" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left">(<a href="Control-Lens-Iso.html#t:Profunctor">Profunctor</a> p, <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> g) =&gt; <a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT1">BazaarT1</a> p g a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-337" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="file:///usr/share/doc/libghc-semigroupoids-doc/html/Data-Functor-Apply.html#t:Apply">Apply</a> (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT1">BazaarT1</a> p g a b)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-323" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Control-Lens-Getter.html#t:Contravariant">Contravariant</a> g =&gt; <a href="file:///usr/share/doc/libghc-semigroups-doc/html/Data-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Control-Lens-Internal-Bazaar.html#t:BazaarT1">BazaarT1</a> p g a b t)</span> <a href="src/Control-Lens-Internal-Bazaar.html#line-341" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:BazaarT1-39-" class="def">BazaarT1'</a> p g a = <a href="Control-Lens-Internal-Bazaar.html#t:BazaarT1">BazaarT1</a> p g a a <a href="src/Control-Lens-Internal-Bazaar.html#BazaarT1%27" class="link">Source</a></p><div class="doc"><p>This alias is helpful when it comes to reducing repetition in type signatures.</p><pre>type <code><a href="Control-Lens-Internal-Bazaar.html#t:BazaarT1-39-">BazaarT1'</a></code> p g a t = <code><a href="Control-Lens-Internal-Bazaar.html#t:BazaarT1">BazaarT1</a></code> p g a a t
</pre></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.1</p></div></body></html>