This file is indexed.

/usr/share/doc/libghc-bifunctors-doc/html/Data-Bifunctor.html is in libghc-bifunctors-doc 4.1.0.1-1build3.

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

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!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.Bifunctor</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-Bifunctor.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Data-Bifunctor.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">bifunctors-4.1.0.1: Bifunctors</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>portable</td></tr><tr><th>Stability</th><td>provisional</td></tr><tr><th>Maintainer</th><td>Edward Kmett &lt;ekmett@gmail.com&gt;</td></tr><tr><th>Safe Haskell</th><td>Safe-Inferred</td></tr></table><p class="caption">Data.Bifunctor</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="#t:Bifunctor">Bifunctor</a> p  <span class="keyword">where</span><ul class="subs"><li><a href="#v:bimap">bimap</a> ::  (a -&gt; b) -&gt; (c -&gt; d) -&gt; p a c -&gt; p b d</li><li><a href="#v:first">first</a> ::  (a -&gt; b) -&gt; p a c -&gt; p b c</li><li><a href="#v:second">second</a> ::  (b -&gt; c) -&gt; p a b -&gt; p a c</li></ul></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:Bifunctor" class="def">Bifunctor</a> p  <span class="keyword">where</span><a href="src/Data-Bifunctor.html#Bifunctor" class="link">Source</a></p><div class="doc"><p>Minimal definition either <code><a href="Data-Bifunctor.html#v:bimap">bimap</a></code> or <code><a href="Data-Bifunctor.html#v:first">first</a></code> and <code><a href="Data-Bifunctor.html#v:second">second</a></code>
</p><p>Formally, the class <code><a href="Data-Bifunctor.html#t:Bifunctor">Bifunctor</a></code> represents a bifunctor
 from <code>Hask</code> -&gt; <code>Hask</code>.
</p><p>Intuitively it is a bifunctor where both the first and second arguments are covariant.
</p><p>You can define a <code><a href="Data-Bifunctor.html#t:Bifunctor">Bifunctor</a></code> by either defining <code><a href="Data-Bifunctor.html#v:bimap">bimap</a></code> or by defining both
 <code><a href="Data-Bifunctor.html#v:first">first</a></code> and <code><a href="Data-Bifunctor.html#v:second">second</a></code>.
</p><p>If you supply <code><a href="Data-Bifunctor.html#v:bimap">bimap</a></code>, you should ensure that:
</p><pre><code><a href="Data-Bifunctor.html#v:bimap">bimap</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:id">id</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:id">id</a></code> &#8801; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:id">id</a></code></pre><p>If you supply <code><a href="Data-Bifunctor.html#v:first">first</a></code> and <code><a href="Data-Bifunctor.html#v:second">second</a></code>, ensure:
</p><pre>
 <code><a href="Data-Bifunctor.html#v:first">first</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:id">id</a></code> &#8801; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:id">id</a></code>
 <code><a href="Data-Bifunctor.html#v:second">second</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:id">id</a></code> &#8801; <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:id">id</a></code>
</pre><p>If you supply both, you should also ensure:
</p><pre><code><a href="Data-Bifunctor.html#v:bimap">bimap</a></code> f g &#8801; <code><a href="Data-Bifunctor.html#v:first">first</a></code> f <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="Data-Bifunctor.html#v:second">second</a></code> g</pre><p>These ensure by parametricity:
</p><pre>
 <code><a href="Data-Bifunctor.html#v:bimap">bimap</a></code>  (f <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> g) (h <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> i) &#8801; <code><a href="Data-Bifunctor.html#v:bimap">bimap</a></code> f h <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="Data-Bifunctor.html#v:bimap">bimap</a></code> g i
 <code><a href="Data-Bifunctor.html#v:first">first</a></code>  (f <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> g) &#8801; <code><a href="Data-Bifunctor.html#v:first">first</a></code>  f <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="Data-Bifunctor.html#v:first">first</a></code>  g
 <code><a href="Data-Bifunctor.html#v:second">second</a></code> (f <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> g) &#8801; <code><a href="Data-Bifunctor.html#v:second">second</a></code> f <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="Data-Bifunctor.html#v:second">second</a></code> g
</pre></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:bimap" class="def">bimap</a> ::  (a -&gt; b) -&gt; (c -&gt; d) -&gt; p a c -&gt; p b d<a href="src/Data-Bifunctor.html#bimap" class="link">Source</a></p><div class="doc"><p>Map over both arguments at the same time.
</p><pre><code><a href="Data-Bifunctor.html#v:bimap">bimap</a></code> f g &#8801; <code><a href="Data-Bifunctor.html#v:first">first</a></code> f <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:.">.</a></code> <code><a href="Data-Bifunctor.html#v:second">second</a></code> g</pre></div><p class="src"><a name="v:first" class="def">first</a> ::  (a -&gt; b) -&gt; p a c -&gt; p b c<a href="src/Data-Bifunctor.html#first" class="link">Source</a></p><div class="doc"><p>Map covariantly over the first argument.
</p><pre><code><a href="Data-Bifunctor.html#v:first">first</a></code> f &#8801; <code><a href="Data-Bifunctor.html#v:bimap">bimap</a></code> f <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:id">id</a></code></pre></div><p class="src"><a name="v:second" class="def">second</a> ::  (b -&gt; c) -&gt; p a b -&gt; p a c<a href="src/Data-Bifunctor.html#second" class="link">Source</a></p><div class="doc"><p>Map covariantly over the second argument.
</p><pre><code><a href="Data-Bifunctor.html#v:second">second</a></code> &#8801; <code><a href="Data-Bifunctor.html#v:bimap">bimap</a></code> <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:id">id</a></code></pre></div></div><div class="subs instances"><p id="control.i:Bifunctor" class="caption collapser" onclick="toggleSection('i:Bifunctor')">Instances</p><div id="section.i:Bifunctor" class="show"><table><tr><td class="src"><a href="Data-Bifunctor.html#t:Bifunctor">Bifunctor</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Either.html#t:Either">Either</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Bifunctor.html#t:Bifunctor">Bifunctor</a> <a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.3.0.0/GHC-Tuple.html#t:-40--44--41-">(,)</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Bifunctor.html#t:Bifunctor">Bifunctor</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Applicative.html#t:Const">Const</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Bifunctor.html#t:Bifunctor">Bifunctor</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.3.0.0/GHC-Tuple.html#t:-40--44--44--41-">(,,)</a> x)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Bifunctor.html#t:Bifunctor">Bifunctor</a> (<a href="/usr/share/doc/libghc-tagged-doc/html/Data-Tagged.html#t:Tagged">Tagged</a> *)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Functor">Functor</a> f =&gt; <a href="Data-Bifunctor.html#t:Bifunctor">Bifunctor</a> (<a href="Data-Bifunctor-Clown.html#t:Clown">Clown</a> f)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Bifunctor.html#t:Bifunctor">Bifunctor</a> p =&gt; <a href="Data-Bifunctor.html#t:Bifunctor">Bifunctor</a> (<a href="Data-Bifunctor-Flip.html#t:Flip">Flip</a> p)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Functor">Functor</a> g =&gt; <a href="Data-Bifunctor.html#t:Bifunctor">Bifunctor</a> (<a href="Data-Bifunctor-Joker.html#t:Joker">Joker</a> g)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Bifunctor.html#t:Bifunctor">Bifunctor</a> p =&gt; <a href="Data-Bifunctor.html#t:Bifunctor">Bifunctor</a> (<a href="Data-Bifunctor-Wrapped.html#t:WrappedBifunctor">WrappedBifunctor</a> p)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Bifunctor.html#t:Bifunctor">Bifunctor</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.3.0.0/GHC-Tuple.html#t:-40--44--44--44--41-">(,,,)</a> x y)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Data-Bifunctor.html#t:Bifunctor">Bifunctor</a> f, <a href="Data-Bifunctor.html#t:Bifunctor">Bifunctor</a> g) =&gt; <a href="Data-Bifunctor.html#t:Bifunctor">Bifunctor</a> (<a href="Data-Bifunctor-Product.html#t:Product">Product</a> f g)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Bifunctor.html#t:Bifunctor">Bifunctor</a> (<a href="/usr/share/doc/ghc-doc/html/libraries/ghc-prim-0.3.0.0/GHC-Tuple.html#t:-40--44--44--44--44--41-">(,,,,)</a> x y z)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.13.2</p></div></body></html>