/usr/share/doc/libghc-semigroupoids-doc/html/index.html is in libghc-semigroupoids-doc 4.2-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <!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.2: 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.2: Semigroupoids: Category sans id</p></div><div id="content"><div id="description"><h1>semigroupoids-4.2: 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><*></code> portion of an <code>Applicative</code>, but
not the <code>pure</code>. This was captured in Uustalu and Vene's "Essence of Dataflow Programming"
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> Foldable ----> Traversable <--- Functor ------> Alt ---------> Plus Semigroupoid
| | | | |
v v v v v
Foldable1 ---> Traversable1 Apply --------> Applicative -> Alternative Category
| | | |
v v v v
Bind ---------> Monad -------> 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><*></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')"> </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')"> </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')"> </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>
|