This file is indexed.

/usr/share/doc/libghc-semigroupoids-doc/html/index.html is in libghc-semigroupoids-doc 4.0-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
25
26
<!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>semigroupoids-4.0: Semigroupoids: Category sans id</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();};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">semigroupoids-4.0: Semigroupoids: Category sans id</p></div><div id="content"><div id="description"><h1>semigroupoids-4.0: Semigroupoids: Category sans id</h1><div class="doc"><p>Provides a wide array of (semi)groupoids and operations for working with them.
</p><p>A <code>Semigroupoid</code> is a <code>Category</code> without the requirement of identity arrows for every object in the category.
</p><p>A <code>Category</code> is any <code>Semigroupoid</code> for which the Yoneda lemma holds.
</p><p>When working with comonads you often have the <code>&lt;*&gt;</code> portion of an <code>Applicative</code>, but
not the <code>pure</code>. This was captured in Uustalu and Vene's &quot;Essence of Dataflow Programming&quot;
in the form of the <code>ComonadZip</code> class in the days before <code>Applicative</code>. Apply provides a weaker invariant, but for the comonads used for data flow programming (found in the streams package), this invariant is preserved. Applicative function composition forms a semigroupoid.
</p><p>Similarly many structures are nearly a comonad, but not quite, for instance lists provide a reasonable <code>extend</code> operation in the form of <code>tails</code>, but do not always contain a value.
</p><p>Ideally the following relationships would hold:
</p><pre> Traversable &lt;---- Foldable &lt;--- Functor ------&gt; Alt ---------&gt; Plus           Semigroupoid
      |               |            |                              |                  |
      v               v            v                              v                  v
 Traversable1 &lt;--- Foldable1     Apply --------&gt; Applicative -&gt; Alternative      Category
                                   |               |              |                  |
                                   v               v              v                  v
                                 Bind ---------&gt; Monad -------&gt; MonadPlus          Arrow

</pre><p>Apply, Bind, and Extend (not shown) give rise the Static, Kleisli and Cokleisli semigroupoids respectively.
</p><p>This lets us remove many of the restrictions from various monad transformers
as in many cases the binding operation or <code>&lt;*&gt;</code> operation does not require them.
</p><p>Finally, to work with these weaker structures it is beneficial to have containers
that can provide stronger guarantees about their contents, so versions of <code>Traversable</code>
and <code>Foldable</code> that can be folded with just a <code>Semigroup</code> are added.
</p></div></div><div id="module-list"><p class="caption">Modules</p><ul><li><span id="control.n.1" class="module collapser" onclick="toggleSection('n.1')">Data</span><ul id="section.n.1" class="show"><li><span id="control.n.1.1" class="module collapser" onclick="toggleSection('n.1.1')">Functor</span><ul id="section.n.1.1" class="show"><li><span class="module"><a href="Data-Functor-Alt.html">Data.Functor.Alt</a></span></li><li><span class="module"><a href="Data-Functor-Apply.html">Data.Functor.Apply</a></span></li><li><span class="module"><span id="control.n.1.1.3" class="collapser" onclick="toggleSection('n.1.1.3')">&nbsp;</span><a href="Data-Functor-Bind.html">Data.Functor.Bind</a></span><ul id="section.n.1.1.3" class="show"><li><span class="module"><a href="Data-Functor-Bind-Trans.html">Data.Functor.Bind.Trans</a></span></li></ul></li><li><span class="module"><a href="Data-Functor-Extend.html">Data.Functor.Extend</a></span></li><li><span class="module"><a href="Data-Functor-Plus.html">Data.Functor.Plus</a></span></li></ul></li><li><span class="module"><a href="Data-Groupoid.html">Data.Groupoid</a></span></li><li><span class="module"><a href="Data-Isomorphism.html">Data.Isomorphism</a></span></li><li><span class="module"><span id="control.n.1.4" class="collapser" onclick="toggleSection('n.1.4')">&nbsp;</span><a href="Data-Semifunctor.html">Data.Semifunctor</a></span><ul id="section.n.1.4" class="show"><li><span class="module"><a href="Data-Semifunctor-Associative.html">Data.Semifunctor.Associative</a></span></li><li><span class="module"><a href="Data-Semifunctor-Braided.html">Data.Semifunctor.Braided</a></span></li></ul></li><li><span id="control.n.1.5" class="module collapser" onclick="toggleSection('n.1.5')">Semigroup</span><ul id="section.n.1.5" class="show"><li><span class="module"><a href="Data-Semigroup-Foldable.html">Data.Semigroup.Foldable</a></span></li><li><span class="module"><a href="Data-Semigroup-Traversable.html">Data.Semigroup.Traversable</a></span></li></ul></li><li><span class="module"><span id="control.n.1.6" class="collapser" onclick="toggleSection('n.1.6')">&nbsp;</span><a href="Data-Semigroupoid.html">Data.Semigroupoid</a></span><ul id="section.n.1.6" class="show"><li><span class="module"><a href="Data-Semigroupoid-Coproduct.html">Data.Semigroupoid.Coproduct</a></span></li><li><span class="module"><a href="Data-Semigroupoid-Dual.html">Data.Semigroupoid.Dual</a></span></li><li><span class="module"><a href="Data-Semigroupoid-Ob.html">Data.Semigroupoid.Ob</a></span></li><li><span class="module"><a href="Data-Semigroupoid-Product.html">Data.Semigroupoid.Product</a></span></li><li><span class="module"><a href="Data-Semigroupoid-Static.html">Data.Semigroupoid.Static</a></span></li></ul></li><li><span id="control.n.1.7" class="module collapser" onclick="toggleSection('n.1.7')">Traversable</span><ul id="section.n.1.7" class="show"><li><span class="module"><a href="Data-Traversable-Instances.html">Data.Traversable.Instances</a></span></li></ul></li></ul></li></ul></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>