This file is indexed.

/usr/share/doc/libghc-profunctors-doc/html/Data-Profunctor.html is in libghc-profunctors-doc 5.1.2-1build1.

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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Data.Profunctor</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Data-Profunctor.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Data-Profunctor.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">profunctors-5.1.2: Profunctors</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Copyright</th><td>(C) 2011-2013 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>provisional</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>Trustworthy</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Data.Profunctor</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Profunctors</a><ul><li><a href="#g:2">Profunctorial Strength</a></li><li><a href="#g:3">Profunctorial Costrength</a></li><li><a href="#g:4">Common Profunctors</a></li></ul></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>For a good explanation of profunctors in Haskell see Dan Piponi's article:</p><p><a href="http://blog.sigfpe.com/2011/07/profunctors-in-haskell.html">http://blog.sigfpe.com/2011/07/profunctors-in-haskell.html</a></p><p>For more information on strength and costrength, see:</p><p><a href="http://comonad.com/reader/2008/deriving-strength-from-laziness/">http://comonad.com/reader/2008/deriving-strength-from-laziness/</a></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">class</span> <a href="#t:Profunctor">Profunctor</a> p <span class="keyword">where</span><ul class="subs"><li><a href="#v:dimap">dimap</a> :: (a -&gt; b) -&gt; (c -&gt; d) -&gt; p b c -&gt; p a d</li><li><a href="#v:lmap">lmap</a> :: (a -&gt; b) -&gt; p b c -&gt; p a c</li><li><a href="#v:rmap">rmap</a> :: (b -&gt; c) -&gt; p a b -&gt; p a c</li></ul></li><li class="src short"><span class="keyword">class</span> <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p =&gt; <a href="#t:Strong">Strong</a> p <span class="keyword">where</span><ul class="subs"><li><a href="#v:first-39-">first'</a> :: p a b -&gt; p (a, c) (b, c)</li><li><a href="#v:second-39-">second'</a> :: p a b -&gt; p (c, a) (c, b)</li></ul></li><li class="src short"><span class="keyword">class</span> <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p =&gt; <a href="#t:Choice">Choice</a> p <span class="keyword">where</span><ul class="subs"><li><a href="#v:left-39-">left'</a> :: p a b -&gt; p (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> a c) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> b c)</li><li><a href="#v:right-39-">right'</a> :: p a b -&gt; p (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> c a) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> c b)</li></ul></li><li class="src short"><span class="keyword">class</span> <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p =&gt; <a href="#t:Costrong">Costrong</a> p <span class="keyword">where</span><ul class="subs"><li><a href="#v:unfirst">unfirst</a> :: p (a, d) (b, d) -&gt; p a b</li><li><a href="#v:unsecond">unsecond</a> :: p (d, a) (d, b) -&gt; p a b</li></ul></li><li class="src short"><span class="keyword">class</span> <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p =&gt; <a href="#t:Cochoice">Cochoice</a> p <span class="keyword">where</span><ul class="subs"><li><a href="#v:unleft">unleft</a> :: p (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> a d) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> b d) -&gt; p a b</li><li><a href="#v:unright">unright</a> :: p (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> d a) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> d b) -&gt; p a b</li></ul></li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Star">Star</a> f d c = <a href="#v:Star">Star</a> {<ul class="subs"><li><a href="#v:runStar">runStar</a> :: d -&gt; f c</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Costar">Costar</a> f d c = <a href="#v:Costar">Costar</a> {<ul class="subs"><li><a href="#v:runCostar">runCostar</a> :: f d -&gt; c</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:WrappedArrow">WrappedArrow</a> p a b = <a href="#v:WrapArrow">WrapArrow</a> {<ul class="subs"><li><a href="#v:unwrapArrow">unwrapArrow</a> :: p a b</li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:Forget">Forget</a> r a b = <a href="#v:Forget">Forget</a> {<ul class="subs"><li><a href="#v:runForget">runForget</a> :: a -&gt; r</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t::-45--62-">(:-&gt;)</a> p q = <span class="keyword">forall</span> a b. p a b -&gt; q a b</li></ul></div><div id="interface"><h1 id="g:1">Profunctors</h1><div class="top"><p class="src"><span class="keyword">class</span> <a name="t:Profunctor" class="def">Profunctor</a> p <span class="keyword">where</span> <a href="src/Data-Profunctor-Unsafe.html#Profunctor" class="link">Source</a></p><div class="doc"><p>Formally, the class <code><a href="Data-Profunctor.html#t:Profunctor">Profunctor</a></code> represents a profunctor
 from <code>Hask</code> -&gt; <code>Hask</code>.</p><p>Intuitively it is a bifunctor where the first argument is contravariant
 and the second argument is covariant.</p><p>You can define a <code><a href="Data-Profunctor.html#t:Profunctor">Profunctor</a></code> by either defining <code><a href="Data-Profunctor.html#v:dimap">dimap</a></code> or by defining both
 <code><a href="Data-Profunctor.html#v:lmap">lmap</a></code> and <code><a href="Data-Profunctor.html#v:rmap">rmap</a></code>.</p><p>If you supply <code><a href="Data-Profunctor.html#v:dimap">dimap</a></code>, you should ensure that:</p><pre><code><a href="Data-Profunctor.html#v:dimap">dimap</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#v:id">id</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#v:id">id</a></code> &#8801; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#v:id">id</a></code></pre><p>If you supply <code><a href="Data-Profunctor.html#v:lmap">lmap</a></code> and <code><a href="Data-Profunctor.html#v:rmap">rmap</a></code>, ensure:</p><pre><code><a href="Data-Profunctor.html#v:lmap">lmap</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#v:id">id</a></code> &#8801; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#v:id">id</a></code>
<code><a href="Data-Profunctor.html#v:rmap">rmap</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#v:id">id</a></code> &#8801; <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#v:id">id</a></code>
</pre><p>If you supply both, you should also ensure:</p><pre><code><a href="Data-Profunctor.html#v:dimap">dimap</a></code> f g &#8801; <code><a href="Data-Profunctor.html#v:lmap">lmap</a></code> f <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#v:.">.</a></code> <code><a href="Data-Profunctor.html#v:rmap">rmap</a></code> g</pre><p>These ensure by parametricity:</p><pre><code><a href="Data-Profunctor.html#v:dimap">dimap</a></code> (f <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#v:.">.</a></code> g) (h <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#v:.">.</a></code> i) &#8801; <code><a href="Data-Profunctor.html#v:dimap">dimap</a></code> g h <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#v:.">.</a></code> <code><a href="Data-Profunctor.html#v:dimap">dimap</a></code> f i
<code><a href="Data-Profunctor.html#v:lmap">lmap</a></code> (f <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#v:.">.</a></code> g) &#8801; <code><a href="Data-Profunctor.html#v:lmap">lmap</a></code> g <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#v:.">.</a></code> <code><a href="Data-Profunctor.html#v:lmap">lmap</a></code> f
<code><a href="Data-Profunctor.html#v:rmap">rmap</a></code> (f <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#v:.">.</a></code> g) &#8801; <code><a href="Data-Profunctor.html#v:rmap">rmap</a></code> f <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#v:.">.</a></code> <code><a href="Data-Profunctor.html#v:rmap">rmap</a></code> g
</pre></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Data-Profunctor.html#v:dimap">dimap</a> | <a href="Data-Profunctor.html#v:lmap">lmap</a>, <a href="Data-Profunctor.html#v:rmap">rmap</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:dimap" class="def">dimap</a> :: (a -&gt; b) -&gt; (c -&gt; d) -&gt; p b c -&gt; p a d <a href="src/Data-Profunctor-Unsafe.html#dimap" class="link">Source</a></p><div class="doc"><p>Map over both arguments at the same time.</p><pre><code><a href="Data-Profunctor.html#v:dimap">dimap</a></code> f g &#8801; <code><a href="Data-Profunctor.html#v:lmap">lmap</a></code> f <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#v:.">.</a></code> <code><a href="Data-Profunctor.html#v:rmap">rmap</a></code> g</pre></div><p class="src"><a name="v:lmap" class="def">lmap</a> :: (a -&gt; b) -&gt; p b c -&gt; p a c <a href="src/Data-Profunctor-Unsafe.html#lmap" class="link">Source</a></p><div class="doc"><p>Map the first argument contravariantly.</p><pre><code><a href="Data-Profunctor.html#v:lmap">lmap</a></code> f &#8801; <code><a href="Data-Profunctor.html#v:dimap">dimap</a></code> f <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#v:id">id</a></code></pre></div><p class="src"><a name="v:rmap" class="def">rmap</a> :: (b -&gt; c) -&gt; p a b -&gt; p a c <a href="src/Data-Profunctor-Unsafe.html#rmap" class="link">Source</a></p><div class="doc"><p>Map the second argument covariantly.</p><pre><code><a href="Data-Profunctor.html#v:rmap">rmap</a></code> &#8801; <code><a href="Data-Profunctor.html#v:dimap">dimap</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#v:id">id</a></code></pre></div></div><div class="subs instances"><p id="control.i:Profunctor" class="caption collapser" onclick="toggleSection('i:Profunctor')">Instances</p><div id="section.i:Profunctor" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (-&gt;)</span> <a href="src/Data-Profunctor-Unsafe.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 href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Arrow.html#t:Kleisli">Kleisli</a> m)</span> <a href="src/Data-Profunctor-Unsafe.html#line-216" 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> f =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="file:///usr/share/doc/libghc-bifunctors-doc/html/Data-Bifunctor-Joker.html#t:Joker">Joker</a> f)</span> <a href="src/Data-Profunctor-Unsafe.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="file:///usr/share/doc/libghc-contravariant-doc/html/Data-Functor-Contravariant.html#t:Contravariant">Contravariant</a> f =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="file:///usr/share/doc/libghc-bifunctors-doc/html/Data-Bifunctor-Clown.html#t:Clown">Clown</a> f)</span> <a href="src/Data-Profunctor-Unsafe.html#line-246" 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> w =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="file:///usr/share/doc/libghc-comonad-doc/html/Control-Comonad.html#t:Cokleisli">Cokleisli</a> w)</span> <a href="src/Data-Profunctor-Unsafe.html#line-231" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="file:///usr/share/doc/libghc-tagged-doc/html/Data-Tagged.html#t:Tagged">Tagged</a> *)</span> <a href="src/Data-Profunctor-Unsafe.html#line-200" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="Data-Profunctor.html#t:Forget">Forget</a> r)</span> <a href="src/Data-Profunctor-Unsafe.html#line-221" 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-Arrow.html#t:Arrow">Arrow</a> p =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="Data-Profunctor.html#t:WrappedArrow">WrappedArrow</a> p)</span> <a href="src/Data-Profunctor-Unsafe.html#line-208" 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> f =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="Data-Profunctor.html#t:Costar">Costar</a> f)</span> <a href="src/Data-Profunctor-Unsafe.html#line-127" 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> f =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="Data-Profunctor.html#t:Star">Star</a> f)</span> <a href="src/Data-Profunctor-Unsafe.html#line-76" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="Data-Profunctor-Closed.html#t:Environment">Environment</a> p)</span> <a href="src/Data-Profunctor-Unsafe.html#line-153" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="Data-Profunctor-Closed.html#t:Closure">Closure</a> p)</span> <a href="src/Data-Profunctor-Unsafe.html#line-72" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="Data-Profunctor-Codensity.html#t:Codensity">Codensity</a> p)</span> <a href="src/Data-Profunctor-Unsafe.html#line-30" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="Data-Profunctor-Tambara.html#t:Copastro">Copastro</a> p)</span> <a href="src/Data-Profunctor-Unsafe.html#line-237" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="Data-Profunctor-Tambara.html#t:Cotambara">Cotambara</a> p)</span> <a href="src/Data-Profunctor-Unsafe.html#line-198" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="Data-Profunctor-Tambara.html#t:Pastro">Pastro</a> p)</span> <a href="src/Data-Profunctor-Unsafe.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="Data-Profunctor.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="Data-Profunctor-Tambara.html#t:Tambara">Tambara</a> p)</span> <a href="src/Data-Profunctor-Unsafe.html#line-44" 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> f, <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p) =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="Data-Profunctor-Cayley.html#t:Cayley">Cayley</a> f p)</span> <a href="src/Data-Profunctor-Unsafe.html#line-43" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left">(<a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p, <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> q) =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="Data-Profunctor-Composition.html#t:Rift">Rift</a> p q)</span> <a href="src/Data-Profunctor-Unsafe.html#line-240" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left">(<a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p, <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> q) =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="Data-Profunctor-Composition.html#t:Procompose">Procompose</a> p q)</span> <a href="src/Data-Profunctor-Unsafe.html#line-78" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left">(<a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p, <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> q) =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="Data-Profunctor-Ran.html#t:Ran">Ran</a> p q)</span> <a href="src/Data-Profunctor-Unsafe.html#line-43" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h2 id="g:2">Profunctorial Strength</h2><div class="top"><p class="src"><span class="keyword">class</span> <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p =&gt; <a name="t:Strong" class="def">Strong</a> p <span class="keyword">where</span> <a href="src/Data-Profunctor.html#Strong" class="link">Source</a></p><div class="doc"><p>Generalizing <code><a href="Data-Profunctor.html#t:Star">Star</a></code> of a strong <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a></code></p><p><em>Note:</em> Every <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a></code> in Haskell is strong with respect to <code>(,)</code>.</p><p>This describes profunctor strength with respect to the product structure
 of Hask.</p><p><a href="http://www-kb.is.s.u-tokyo.ac.jp/~asada/papers/arrStrMnd.pdf">http://www-kb.is.s.u-tokyo.ac.jp/~asada/papers/arrStrMnd.pdf</a></p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Data-Profunctor.html#v:first-39-">first'</a> | <a href="Data-Profunctor.html#v:second-39-">second'</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:first-39-" class="def">first'</a> :: p a b -&gt; p (a, c) (b, c) <a href="src/Data-Profunctor.html#first%27" class="link">Source</a></p><p class="src"><a name="v:second-39-" class="def">second'</a> :: p a b -&gt; p (c, a) (c, b) <a href="src/Data-Profunctor.html#second%27" class="link">Source</a></p></div><div class="subs instances"><p id="control.i:Strong" class="caption collapser" onclick="toggleSection('i:Strong')">Instances</p><div id="section.i:Strong" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Strong">Strong</a> (-&gt;)</span> <a href="src/Data-Profunctor.html#line-265" 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-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Profunctor.html#t:Strong">Strong</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Arrow.html#t:Kleisli">Kleisli</a> m)</span> <a href="src/Data-Profunctor.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 href="Data-Profunctor.html#t:Strong">Strong</a> (<a href="Data-Profunctor.html#t:Forget">Forget</a> r)</span> <a href="src/Data-Profunctor.html#line-293" 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-Arrow.html#t:Arrow">Arrow</a> p =&gt; <a href="Data-Profunctor.html#t:Strong">Strong</a> (<a href="Data-Profunctor.html#t:WrappedArrow">WrappedArrow</a> p)</span> <a href="src/Data-Profunctor.html#line-287" class="link">Source</a></td><td class="doc"><p><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Arrow.html#t:Arrow">Arrow</a></code> is <code><a href="Data-Profunctor.html#t:Strong">Strong</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#t:Category">Category</a></code></p></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> m =&gt; <a href="Data-Profunctor.html#t:Strong">Strong</a> (<a href="Data-Profunctor.html#t:Star">Star</a> m)</span> <a href="src/Data-Profunctor.html#line-280" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Strong">Strong</a> p =&gt; <a href="Data-Profunctor.html#t:Strong">Strong</a> (<a href="Data-Profunctor-Closed.html#t:Closure">Closure</a> p)</span> <a href="src/Data-Profunctor.html#line-89" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Data-Profunctor.html#t:Strong">Strong</a> (<a href="Data-Profunctor-Tambara.html#t:Tambara">Tambara</a> p)</span> <a href="src/Data-Profunctor.html#line-60" 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> f, <a href="Data-Profunctor.html#t:Strong">Strong</a> p) =&gt; <a href="Data-Profunctor.html#t:Strong">Strong</a> (<a href="Data-Profunctor-Cayley.html#t:Cayley">Cayley</a> f p)</span> <a href="src/Data-Profunctor.html#line-50" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left">(<a href="Data-Profunctor.html#t:Strong">Strong</a> p, <a href="Data-Profunctor.html#t:Strong">Strong</a> q) =&gt; <a href="Data-Profunctor.html#t:Strong">Strong</a> (<a href="Data-Profunctor-Composition.html#t:Procompose">Procompose</a> p q)</span> <a href="src/Data-Profunctor.html#line-114" 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">class</span> <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p =&gt; <a name="t:Choice" class="def">Choice</a> p <span class="keyword">where</span> <a href="src/Data-Profunctor.html#Choice" class="link">Source</a></p><div class="doc"><p>The generalization of <code><a href="Data-Profunctor.html#t:Costar">Costar</a></code> of <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a></code> that is strong with respect
 to <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a></code>.</p><p>Note: This is also a notion of strength, except with regards to another monoidal
 structure that we can choose to equip Hask with: the cocartesian coproduct.</p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Data-Profunctor.html#v:left-39-">left'</a> | <a href="Data-Profunctor.html#v:right-39-">right'</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:left-39-" class="def">left'</a> :: p a b -&gt; p (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> a c) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> b c) <a href="src/Data-Profunctor.html#left%27" class="link">Source</a></p><p class="src"><a name="v:right-39-" class="def">right'</a> :: p a b -&gt; p (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> c a) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> c b) <a href="src/Data-Profunctor.html#right%27" class="link">Source</a></p></div><div class="subs instances"><p id="control.i:Choice" class="caption collapser" onclick="toggleSection('i:Choice')">Instances</p><div id="section.i:Choice" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Choice">Choice</a> (-&gt;)</span> <a href="src/Data-Profunctor.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 href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Profunctor.html#t:Choice">Choice</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Arrow.html#t:Kleisli">Kleisli</a> m)</span> <a href="src/Data-Profunctor.html#line-326" 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-comonad-doc/html/Control-Comonad.html#t:Comonad">Comonad</a> w =&gt; <a href="Data-Profunctor.html#t:Choice">Choice</a> (<a href="file:///usr/share/doc/libghc-comonad-doc/html/Control-Comonad.html#t:Cokleisli">Cokleisli</a> w)</span> <a href="src/Data-Profunctor.html#line-339" class="link">Source</a></td><td class="doc"><p><code><a href="file:///usr/share/doc/libghc-comonad-doc/html/Control-Comonad.html#v:extract">extract</a></code> approximates <code>costrength</code></p></td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Choice">Choice</a> (<a href="file:///usr/share/doc/libghc-tagged-doc/html/Data-Tagged.html#t:Tagged">Tagged</a> *)</span> <a href="src/Data-Profunctor.html#line-352" 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-Monoid.html#t:Monoid">Monoid</a> r =&gt; <a href="Data-Profunctor.html#t:Choice">Choice</a> (<a href="Data-Profunctor.html#t:Forget">Forget</a> r)</span> <a href="src/Data-Profunctor.html#line-364" 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-Arrow.html#t:ArrowChoice">ArrowChoice</a> p =&gt; <a href="Data-Profunctor.html#t:Choice">Choice</a> (<a href="Data-Profunctor.html#t:WrappedArrow">WrappedArrow</a> p)</span> <a href="src/Data-Profunctor.html#line-358" 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-Traversable.html#t:Traversable">Traversable</a> w =&gt; <a href="Data-Profunctor.html#t:Choice">Choice</a> (<a href="Data-Profunctor.html#t:Costar">Costar</a> w)</span> <a href="src/Data-Profunctor.html#line-346" 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> f =&gt; <a href="Data-Profunctor.html#t:Choice">Choice</a> (<a href="Data-Profunctor.html#t:Star">Star</a> f)</span> <a href="src/Data-Profunctor.html#line-332" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p =&gt; <a href="Data-Profunctor.html#t:Choice">Choice</a> (<a href="Data-Profunctor-Tambara.html#t:Cotambara">Cotambara</a> p)</span> <a href="src/Data-Profunctor.html#line-202" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Choice">Choice</a> p =&gt; <a href="Data-Profunctor.html#t:Choice">Choice</a> (<a href="Data-Profunctor-Tambara.html#t:Tambara">Tambara</a> p)</span> <a href="src/Data-Profunctor.html#line-64" 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> f, <a href="Data-Profunctor.html#t:Choice">Choice</a> p) =&gt; <a href="Data-Profunctor.html#t:Choice">Choice</a> (<a href="Data-Profunctor-Cayley.html#t:Cayley">Cayley</a> f p)</span> <a href="src/Data-Profunctor.html#line-54" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left">(<a href="Data-Profunctor.html#t:Choice">Choice</a> p, <a href="Data-Profunctor.html#t:Choice">Choice</a> q) =&gt; <a href="Data-Profunctor.html#t:Choice">Choice</a> (<a href="Data-Profunctor-Composition.html#t:Procompose">Procompose</a> p q)</span> <a href="src/Data-Profunctor.html#line-120" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h2 id="g:3">Profunctorial Costrength</h2><div class="top"><p class="src"><span class="keyword">class</span> <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p =&gt; <a name="t:Costrong" class="def">Costrong</a> p <span class="keyword">where</span> <a href="src/Data-Profunctor.html#Costrong" class="link">Source</a></p><div class="doc"><p>Analogous to <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Arrow.html#t:ArrowLoop">ArrowLoop</a></code>, <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Arrow.html#v:loop">loop</a></code> = <code><a href="Data-Profunctor.html#v:unfirst">unfirst</a></code></p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Data-Profunctor.html#v:unfirst">unfirst</a> | <a href="Data-Profunctor.html#v:unsecond">unsecond</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:unfirst" class="def">unfirst</a> :: p (a, d) (b, d) -&gt; p a b <a href="src/Data-Profunctor.html#unfirst" class="link">Source</a></p><p class="src"><a name="v:unsecond" class="def">unsecond</a> :: p (d, a) (d, b) -&gt; p a b <a href="src/Data-Profunctor.html#unsecond" class="link">Source</a></p></div><div class="subs instances"><p id="control.i:Costrong" class="caption collapser" onclick="toggleSection('i:Costrong')">Instances</p><div id="section.i:Costrong" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Costrong">Costrong</a> (-&gt;)</span> <a href="src/Data-Profunctor.html#line-386" 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-Monad-Fix.html#t:MonadFix">MonadFix</a> m =&gt; <a href="Data-Profunctor.html#t:Costrong">Costrong</a> (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Arrow.html#t:Kleisli">Kleisli</a> m)</span> <a href="src/Data-Profunctor.html#line-403" 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> f =&gt; <a href="Data-Profunctor.html#t:Costrong">Costrong</a> (<a href="file:///usr/share/doc/libghc-comonad-doc/html/Control-Comonad.html#t:Cokleisli">Cokleisli</a> f)</span> <a href="src/Data-Profunctor.html#line-407" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Costrong">Costrong</a> (<a href="file:///usr/share/doc/libghc-tagged-doc/html/Data-Tagged.html#t:Tagged">Tagged</a> *)</span> <a href="src/Data-Profunctor.html#line-396" 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-Arrow.html#t:ArrowLoop">ArrowLoop</a> p =&gt; <a href="Data-Profunctor.html#t:Costrong">Costrong</a> (<a href="Data-Profunctor.html#t:WrappedArrow">WrappedArrow</a> p)</span> <a href="src/Data-Profunctor.html#line-400" 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> f =&gt; <a href="Data-Profunctor.html#t:Costrong">Costrong</a> (<a href="Data-Profunctor.html#t:Costar">Costar</a> f)</span> <a href="src/Data-Profunctor.html#line-390" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left">(<a href="Data-Profunctor-Rep.html#t:Corepresentable">Corepresentable</a> p, <a href="Data-Profunctor-Rep.html#t:Corepresentable">Corepresentable</a> q) =&gt; <a href="Data-Profunctor.html#t:Costrong">Costrong</a> (<a href="Data-Profunctor-Composition.html#t:Procompose">Procompose</a> p q)</span> <a href="src/Data-Profunctor.html#line-130" 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">class</span> <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> p =&gt; <a name="t:Cochoice" class="def">Cochoice</a> p <span class="keyword">where</span> <a href="src/Data-Profunctor.html#Cochoice" class="link">Source</a></p><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Data-Profunctor.html#v:unleft">unleft</a> | <a href="Data-Profunctor.html#v:unright">unright</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:unleft" class="def">unleft</a> :: p (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> a d) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> b d) -&gt; p a b <a href="src/Data-Profunctor.html#unleft" class="link">Source</a></p><p class="src"><a name="v:unright" class="def">unright</a> :: p (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> d a) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Either.html#t:Either">Either</a> d b) -&gt; p a b <a href="src/Data-Profunctor.html#unright" class="link">Source</a></p></div><div class="subs instances"><p id="control.i:Cochoice" class="caption collapser" onclick="toggleSection('i:Cochoice')">Instances</p><div id="section.i:Cochoice" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Cochoice">Cochoice</a> (-&gt;)</span> <a href="src/Data-Profunctor.html#line-426" 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> f =&gt; <a href="Data-Profunctor.html#t:Cochoice">Cochoice</a> (<a href="Data-Profunctor.html#t:Costar">Costar</a> f)</span> <a href="src/Data-Profunctor.html#line-430" 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-Traversable.html#t:Traversable">Traversable</a> f =&gt; <a href="Data-Profunctor.html#t:Cochoice">Cochoice</a> (<a href="Data-Profunctor.html#t:Star">Star</a> f)</span> <a href="src/Data-Profunctor.html#line-435" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h2 id="g:4">Common Profunctors</h2><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:Star" class="def">Star</a> f d c <a href="src/Data-Profunctor.html#Star" class="link">Source</a></p><div class="doc"><p>Lift a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a></code> into a <code><a href="Data-Profunctor.html#t:Profunctor">Profunctor</a></code> (forwards).</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Star" class="def">Star</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:runStar" class="def">runStar</a> :: d -&gt; f c</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:Star" class="caption collapser" onclick="toggleSection('i:Star')">Instances</p><div id="section.i:Star" class="show"><table><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> f =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="Data-Profunctor.html#t:Star">Star</a> f)</span> <a href="src/Data-Profunctor.html#line-76" 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-Traversable.html#t:Traversable">Traversable</a> f =&gt; <a href="Data-Profunctor.html#t:Cochoice">Cochoice</a> (<a href="Data-Profunctor.html#t:Star">Star</a> f)</span> <a href="src/Data-Profunctor.html#line-435" 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> f =&gt; <a href="Data-Profunctor.html#t:Choice">Choice</a> (<a href="Data-Profunctor.html#t:Star">Star</a> f)</span> <a href="src/Data-Profunctor.html#line-332" 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> m =&gt; <a href="Data-Profunctor.html#t:Strong">Strong</a> (<a href="Data-Profunctor.html#t:Star">Star</a> m)</span> <a href="src/Data-Profunctor.html#line-280" 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-distributive-doc/html/Data-Distributive.html#t:Distributive">Distributive</a> f =&gt; <a href="Data-Profunctor-Closed.html#t:Closed">Closed</a> (<a href="Data-Profunctor.html#t:Star">Star</a> f)</span> <a href="src/Data-Profunctor-Closed.html#line-53" 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> f =&gt; <a href="Data-Profunctor-Rep.html#t:Representable">Representable</a> (<a href="Data-Profunctor.html#t:Star">Star</a> f)</span> <a href="src/Data-Profunctor-Rep.html#line-82" 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> f =&gt; <a href="Data-Profunctor-Sieve.html#t:Sieve">Sieve</a> (<a href="Data-Profunctor.html#t:Star">Star</a> f) f</span> <a href="src/Data-Profunctor-Sieve.html#line-49" 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-Monad.html#t:Monad">Monad</a> f =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:Monad">Monad</a> (<a href="Data-Profunctor.html#t:Star">Star</a> f a)</span> <a href="src/Data-Profunctor.html#line-105" 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> f =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a> (<a href="Data-Profunctor.html#t:Star">Star</a> f a)</span> <a href="src/Data-Profunctor.html#line-91" 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> f =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Applicative.html#t:Applicative">Applicative</a> (<a href="Data-Profunctor.html#t:Star">Star</a> f a)</span> <a href="src/Data-Profunctor.html#line-95" 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:Alternative">Alternative</a> f =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Applicative.html#t:Alternative">Alternative</a> (<a href="Data-Profunctor.html#t:Star">Star</a> f a)</span> <a href="src/Data-Profunctor.html#line-101" 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-Monad.html#t:MonadPlus">MonadPlus</a> f =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:MonadPlus">MonadPlus</a> (<a href="Data-Profunctor.html#t:Star">Star</a> f a)</span> <a href="src/Data-Profunctor.html#line-113" 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-distributive-doc/html/Data-Distributive.html#t:Distributive">Distributive</a> f =&gt; <a href="file:///usr/share/doc/libghc-distributive-doc/html/Data-Distributive.html#t:Distributive">Distributive</a> (<a href="Data-Profunctor.html#t:Star">Star</a> f a)</span> <a href="src/Data-Profunctor.html#line-117" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="keyword">type</span> <a href="Data-Profunctor-Rep.html#t:Rep">Rep</a> (<a href="Data-Profunctor.html#t:Star">Star</a> f) = f</span> <a href="src/Data-Profunctor-Rep.html#line-83" 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:Costar" class="def">Costar</a> f d c <a href="src/Data-Profunctor.html#Costar" class="link">Source</a></p><div class="doc"><p>Lift a <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Functor.html#t:Functor">Functor</a></code> into a <code><a href="Data-Profunctor.html#t:Profunctor">Profunctor</a></code> (backwards).</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Costar" class="def">Costar</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:runCostar" class="def">runCostar</a> :: f d -&gt; c</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:Costar" class="caption collapser" onclick="toggleSection('i:Costar')">Instances</p><div id="section.i:Costar" class="show"><table><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> f =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="Data-Profunctor.html#t:Costar">Costar</a> f)</span> <a href="src/Data-Profunctor.html#line-127" 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> f =&gt; <a href="Data-Profunctor.html#t:Cochoice">Cochoice</a> (<a href="Data-Profunctor.html#t:Costar">Costar</a> f)</span> <a href="src/Data-Profunctor.html#line-430" 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> f =&gt; <a href="Data-Profunctor.html#t:Costrong">Costrong</a> (<a href="Data-Profunctor.html#t:Costar">Costar</a> f)</span> <a href="src/Data-Profunctor.html#line-390" 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-Traversable.html#t:Traversable">Traversable</a> w =&gt; <a href="Data-Profunctor.html#t:Choice">Choice</a> (<a href="Data-Profunctor.html#t:Costar">Costar</a> w)</span> <a href="src/Data-Profunctor.html#line-346" 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> f =&gt; <a href="Data-Profunctor-Closed.html#t:Closed">Closed</a> (<a href="Data-Profunctor.html#t:Costar">Costar</a> f)</span> <a href="src/Data-Profunctor-Closed.html#line-47" 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> f =&gt; <a href="Data-Profunctor-Rep.html#t:Corepresentable">Corepresentable</a> (<a href="Data-Profunctor.html#t:Costar">Costar</a> f)</span> <a href="src/Data-Profunctor-Rep.html#line-137" 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> f =&gt; <a href="Data-Profunctor-Sieve.html#t:Cosieve">Cosieve</a> (<a href="Data-Profunctor.html#t:Costar">Costar</a> f) f</span> <a href="src/Data-Profunctor-Sieve.html#line-77" 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-Monad.html#t:Monad">Monad</a> (<a href="Data-Profunctor.html#t:Costar">Costar</a> f a)</span> <a href="src/Data-Profunctor.html#line-157" 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="Data-Profunctor.html#t:Costar">Costar</a> f a)</span> <a href="src/Data-Profunctor.html#line-145" 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="Data-Profunctor.html#t:Costar">Costar</a> f a)</span> <a href="src/Data-Profunctor.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/libghc-distributive-doc/html/Data-Distributive.html#t:Distributive">Distributive</a> (<a href="Data-Profunctor.html#t:Costar">Costar</a> f d)</span> <a href="src/Data-Profunctor.html#line-142" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="keyword">type</span> <a href="Data-Profunctor-Rep.html#t:Corep">Corep</a> (<a href="Data-Profunctor.html#t:Costar">Costar</a> f) = f</span> <a href="src/Data-Profunctor-Rep.html#line-138" 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:WrappedArrow" class="def">WrappedArrow</a> p a b <a href="src/Data-Profunctor.html#WrappedArrow" class="link">Source</a></p><div class="doc"><p>Wrap an arrow for use as a <code><a href="Data-Profunctor.html#t:Profunctor">Profunctor</a></code>.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:WrapArrow" class="def">WrapArrow</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:unwrapArrow" class="def">unwrapArrow</a> :: p a b</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:WrappedArrow" class="caption collapser" onclick="toggleSection('i:WrappedArrow')">Instances</p><div id="section.i:WrappedArrow" class="show"><table><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-Category.html#t:Category">Category</a> * p =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#t:Category">Category</a> * (<a href="Data-Profunctor.html#t:WrappedArrow">WrappedArrow</a> p)</span> <a href="src/Data-Profunctor.html#line-168" 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-Arrow.html#t:Arrow">Arrow</a> p =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Arrow.html#t:Arrow">Arrow</a> (<a href="Data-Profunctor.html#t:WrappedArrow">WrappedArrow</a> p)</span> <a href="src/Data-Profunctor.html#line-174" 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-Arrow.html#t:ArrowZero">ArrowZero</a> p =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Arrow.html#t:ArrowZero">ArrowZero</a> (<a href="Data-Profunctor.html#t:WrappedArrow">WrappedArrow</a> p)</span> <a href="src/Data-Profunctor.html#line-186" 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-Arrow.html#t:ArrowChoice">ArrowChoice</a> p =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Arrow.html#t:ArrowChoice">ArrowChoice</a> (<a href="Data-Profunctor.html#t:WrappedArrow">WrappedArrow</a> p)</span> <a href="src/Data-Profunctor.html#line-190" 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-Arrow.html#t:ArrowApply">ArrowApply</a> p =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Arrow.html#t:ArrowApply">ArrowApply</a> (<a href="Data-Profunctor.html#t:WrappedArrow">WrappedArrow</a> p)</span> <a href="src/Data-Profunctor.html#line-200" 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-Arrow.html#t:ArrowLoop">ArrowLoop</a> p =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Arrow.html#t:ArrowLoop">ArrowLoop</a> (<a href="Data-Profunctor.html#t:WrappedArrow">WrappedArrow</a> p)</span> <a href="src/Data-Profunctor.html#line-204" 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-Arrow.html#t:Arrow">Arrow</a> p =&gt; <a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="Data-Profunctor.html#t:WrappedArrow">WrappedArrow</a> p)</span> <a href="src/Data-Profunctor.html#line-208" 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-Arrow.html#t:ArrowLoop">ArrowLoop</a> p =&gt; <a href="Data-Profunctor.html#t:Costrong">Costrong</a> (<a href="Data-Profunctor.html#t:WrappedArrow">WrappedArrow</a> p)</span> <a href="src/Data-Profunctor.html#line-400" 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-Arrow.html#t:ArrowChoice">ArrowChoice</a> p =&gt; <a href="Data-Profunctor.html#t:Choice">Choice</a> (<a href="Data-Profunctor.html#t:WrappedArrow">WrappedArrow</a> p)</span> <a href="src/Data-Profunctor.html#line-358" 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-Arrow.html#t:Arrow">Arrow</a> p =&gt; <a href="Data-Profunctor.html#t:Strong">Strong</a> (<a href="Data-Profunctor.html#t:WrappedArrow">WrappedArrow</a> p)</span> <a href="src/Data-Profunctor.html#line-287" class="link">Source</a></td><td class="doc"><p><code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Arrow.html#t:Arrow">Arrow</a></code> is <code><a href="Data-Profunctor.html#t:Strong">Strong</a></code> <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Category.html#t:Category">Category</a></code></p></td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:Forget" class="def">Forget</a> r a b <a href="src/Data-Profunctor.html#Forget" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Forget" class="def">Forget</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:runForget" class="def">runForget</a> :: a -&gt; r</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:Forget" class="caption collapser" onclick="toggleSection('i:Forget')">Instances</p><div id="section.i:Forget" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Profunctor">Profunctor</a> (<a href="Data-Profunctor.html#t:Forget">Forget</a> r)</span> <a href="src/Data-Profunctor.html#line-221" 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-Monoid.html#t:Monoid">Monoid</a> r =&gt; <a href="Data-Profunctor.html#t:Choice">Choice</a> (<a href="Data-Profunctor.html#t:Forget">Forget</a> r)</span> <a href="src/Data-Profunctor.html#line-364" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor.html#t:Strong">Strong</a> (<a href="Data-Profunctor.html#t:Forget">Forget</a> r)</span> <a href="src/Data-Profunctor.html#line-293" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor-Rep.html#t:Representable">Representable</a> (<a href="Data-Profunctor.html#t:Forget">Forget</a> r)</span> <a href="src/Data-Profunctor-Rep.html#line-87" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><a href="Data-Profunctor-Sieve.html#t:Sieve">Sieve</a> (<a href="Data-Profunctor.html#t:Forget">Forget</a> r) (<a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Applicative.html#t:Const">Const</a> r)</span> <a href="src/Data-Profunctor-Sieve.html#line-53" 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="Data-Profunctor.html#t:Forget">Forget</a> r a)</span> <a href="src/Data-Profunctor.html#line-229" 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-Foldable.html#t:Foldable">Foldable</a> (<a href="Data-Profunctor.html#t:Forget">Forget</a> r a)</span> <a href="src/Data-Profunctor.html#line-233" 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-Traversable.html#t:Traversable">Traversable</a> (<a href="Data-Profunctor.html#t:Forget">Forget</a> r a)</span> <a href="src/Data-Profunctor.html#line-237" class="link">Source</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="keyword">type</span> <a href="Data-Profunctor-Rep.html#t:Rep">Rep</a> (<a href="Data-Profunctor.html#t:Forget">Forget</a> r) = <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Applicative.html#t:Const">Const</a> r</span> <a href="src/Data-Profunctor-Rep.html#line-88" 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::-45--62-" class="def">(:-&gt;)</a> p q = <span class="keyword">forall</span> a b. p a b -&gt; q a b <span class="fixity">infixr 0</span><span class="rightedge"></span> <a href="src/Data-Profunctor.html#%3A-%3E" class="link">Source</a></p></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>