This file is indexed.

/usr/share/doc/libghc-natural-transformation-doc/html/Control-Natural.html is in libghc-natural-transformation-doc 0.4-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
<!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.Natural</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script src="file:///usr/share/javascript/mathjax/MathJax.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Control-Natural.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Control-Natural.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">natural-transformation-0.4: A natural transformation package.</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(C) 2015 The University of Kansas</td></tr><tr><th>License</th><td>BSD-style (see the file LICENSE)</td></tr><tr><th>Maintainer</th><td>Andy Gill</td></tr><tr><th>Stability</th><td>Experimental</td></tr><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Control.Natural</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Newtype for a Natural Transformation</a></li><li><a href="#g:2">Type Synonym for a Natural Transformation</a></li><li><a href="#g:3">Conversion functions between the newtype and the synonym</a></li><li><a href="#g:4">Class for Natural Transformations</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>A data type and class for natural transformations.</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">newtype</span> f <a href="#t::-126--62-">:~&gt;</a> g = <a href="#v:NT">NT</a> {<ul class="subs"><li><a href="#v:-36--36-">($$)</a> :: f <a href="Control-Natural.html#t:-126--62-">~&gt;</a> g</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:-126--62-">(~&gt;)</a> f g = <span class="keyword">forall</span> x. f x -&gt; g x</li><li class="src short"><a href="#v:wrapNT">wrapNT</a> :: (<span class="keyword">forall</span> a. f a -&gt; g a) -&gt; f <a href="Control-Natural.html#t::-126--62-">:~&gt;</a> g</li><li class="src short"><a href="#v:unwrapNT">unwrapNT</a> :: <a href="Control-Natural.html#t:Transformation">Transformation</a> f g t =&gt; t -&gt; <span class="keyword">forall</span> a. f a -&gt; g a</li><li class="src short"><span class="keyword">class</span> <a href="#t:Transformation">Transformation</a> f g t | t -&gt; f g <span class="keyword">where</span><ul class="subs"></ul></li></ul></div><div id="interface"><h1 id="g:1">Newtype for a Natural Transformation</h1><div class="top"><p class="src"><span class="keyword">newtype</span> f <a id="t::-126--62-" class="def">:~&gt;</a> g <span class="fixity">infixr 0</span><span class="rightedge"></span> <a href="src/Control-Natural.html#%3A~%3E" class="link">Source</a> <a href="#t::-126--62-" class="selflink">#</a></p><div class="doc"><p>A natural transformation suitable for storing in a container.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:NT" class="def">NT</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><ul><li><dfn class="src"><a id="v:-36--36-" class="def">($$)</a> :: f <a href="Control-Natural.html#t:-126--62-">~&gt;</a> g</dfn><div class="doc empty">&nbsp;</div></li></ul></div></td></tr></table></div><div class="subs instances"><p id="control.i::-126--62-" class="caption collapser" onclick="toggleSection('i::-126--62-')">Instances</p><div id="section.i::-126--62-" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id::-126--62-:Transformation:1" class="instance expander" onclick="toggleSection('i:id::-126--62-:Transformation:1')"></span> <a href="Control-Natural.html#t:Transformation">Transformation</a> k f g (<a href="Control-Natural.html#t::-126--62-">(:~&gt;)</a> k f g)</span> <a href="src/Control-Natural.html#line-76" class="link">Source</a> <a href="#t::-126--62-" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id::-126--62-:Transformation:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-35-">(#)</a> :: t -&gt; <span class="keyword">forall</span> a. g a -&gt; (k <a href="Control-Natural.html#t::-126--62-">:~&gt;</a> f) g a <a href="src/Control-Natural.html#%23" class="link">Source</a> <a href="#v:-35-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id::-126--62-:Category:2" class="instance expander" onclick="toggleSection('i:id::-126--62-:Category:2')"></span> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Control-Category.html#t:Category">Category</a> (k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) (<a href="Control-Natural.html#t::-126--62-">(:~&gt;)</a> k)</span> <a href="src/Control-Natural.html#line-54" class="link">Source</a> <a href="#t::-126--62-" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id::-126--62-:Category:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:id">id</a> :: cat a a <a href="#v:id" class="selflink">#</a></p><p class="src"><a href="#v:.">(.)</a> :: cat b c -&gt; cat a b -&gt; cat a c <a href="#v:." class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id::-126--62-:Semigroup:3" class="instance expander" onclick="toggleSection('i:id::-126--62-:Semigroup:3')"></span> (~) (k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) f g =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Semigroup.html#t:Semigroup">Semigroup</a> (<a href="Control-Natural.html#t::-126--62-">(:~&gt;)</a> k f g)</span> <a href="src/Control-Natural.html#line-58" class="link">Source</a> <a href="#t::-126--62-" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id::-126--62-:Semigroup:3" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-60--62-">(&lt;&gt;)</a> :: (k <a href="Control-Natural.html#t::-126--62-">:~&gt;</a> f) g -&gt; (k <a href="Control-Natural.html#t::-126--62-">:~&gt;</a> f) g -&gt; (k <a href="Control-Natural.html#t::-126--62-">:~&gt;</a> f) g <a href="#v:-60--62-" class="selflink">#</a></p><p class="src"><a href="#v:sconcat">sconcat</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-List-NonEmpty.html#t:NonEmpty">NonEmpty</a> ((k <a href="Control-Natural.html#t::-126--62-">:~&gt;</a> f) g) -&gt; (k <a href="Control-Natural.html#t::-126--62-">:~&gt;</a> f) g <a href="#v:sconcat" class="selflink">#</a></p><p class="src"><a href="#v:stimes">stimes</a> :: <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Prelude.html#t:Integral">Integral</a> b =&gt; b -&gt; (k <a href="Control-Natural.html#t::-126--62-">:~&gt;</a> f) g -&gt; (k <a href="Control-Natural.html#t::-126--62-">:~&gt;</a> f) g <a href="#v:stimes" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:id::-126--62-:Monoid:4" class="instance expander" onclick="toggleSection('i:id::-126--62-:Monoid:4')"></span> (~) (k -&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a>) f g =&gt; <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Control-Natural.html#t::-126--62-">(:~&gt;)</a> k f g)</span> <a href="src/Control-Natural.html#line-61" class="link">Source</a> <a href="#t::-126--62-" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:id::-126--62-:Monoid:4" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:mempty">mempty</a> :: (k <a href="Control-Natural.html#t::-126--62-">:~&gt;</a> f) g <a href="#v:mempty" class="selflink">#</a></p><p class="src"><a href="#v:mappend">mappend</a> :: (k <a href="Control-Natural.html#t::-126--62-">:~&gt;</a> f) g -&gt; (k <a href="Control-Natural.html#t::-126--62-">:~&gt;</a> f) g -&gt; (k <a href="Control-Natural.html#t::-126--62-">:~&gt;</a> f) g <a href="#v:mappend" class="selflink">#</a></p><p class="src"><a href="#v:mconcat">mconcat</a> :: [(k <a href="Control-Natural.html#t::-126--62-">:~&gt;</a> f) g] -&gt; (k <a href="Control-Natural.html#t::-126--62-">:~&gt;</a> f) g <a href="#v:mconcat" class="selflink">#</a></p></div></div></td></tr></table></div></div></div><h1 id="g:2">Type Synonym for a Natural Transformation</h1><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:-126--62-" class="def">(~&gt;)</a> f g = <span class="keyword">forall</span> x. f x -&gt; g x <span class="fixity">infixr 0</span><span class="rightedge"></span> <a href="src/Control-Natural.html#~%3E" class="link">Source</a> <a href="#t:-126--62-" class="selflink">#</a></p><div class="doc"><p>A natural transformation from <code>f</code> to <code>g</code>.</p></div></div><h1 id="g:3">Conversion functions between the newtype and the synonym</h1><div class="top"><p class="src"><a id="v:wrapNT" class="def">wrapNT</a> :: (<span class="keyword">forall</span> a. f a -&gt; g a) -&gt; f <a href="Control-Natural.html#t::-126--62-">:~&gt;</a> g <a href="src/Control-Natural.html#wrapNT" class="link">Source</a> <a href="#v:wrapNT" class="selflink">#</a></p><div class="doc"><p><code><a href="Control-Natural.html#v:wrapNT">wrapNT</a></code> builds our natural transformation abstraction out of
 a natural transformation function.</p><p>An alias to <code><a href="Control-Natural.html#v:NT">NT</a></code> provided for symmetry with <code><a href="Control-Natural.html#v:unwrapNT">unwrapNT</a></code>.</p></div></div><div class="top"><p class="src"><a id="v:unwrapNT" class="def">unwrapNT</a> :: <a href="Control-Natural.html#t:Transformation">Transformation</a> f g t =&gt; t -&gt; <span class="keyword">forall</span> a. f a -&gt; g a <a href="src/Control-Natural.html#unwrapNT" class="link">Source</a> <a href="#v:unwrapNT" class="selflink">#</a></p><div class="doc"><p><code><a href="Control-Natural.html#v:unwrapNT">unwrapNT</a></code> is the nonfix version of <code>#</code>. It is used to break natural
   transformation wrappers, including <code><a href="Control-Natural.html#t::-126--62-">:~&gt;</a></code>.</p></div></div><h1 id="g:4">Class for Natural Transformations</h1><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:Transformation" class="def">Transformation</a> f g t | t -&gt; f g <span class="keyword">where</span> <a href="src/Control-Natural.html#Transformation" class="link">Source</a> <a href="#t:Transformation" class="selflink">#</a></p><div class="doc"><p>A (natural) transformation is inside <code>t</code>, and contains <code>f</code> and <code>g</code>
 (typically <code><a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Functor.html#t:Functor">Functor</a></code>s).</p><p>The order of arguments allows the use of <code>GeneralizedNewtypeDeriving</code> to wrap
 a <code><a href="Control-Natural.html#t::-126--62-">:~&gt;</a></code>, but maintain the <code><a href="Control-Natural.html#t:Transformation">Transformation</a></code> constraint. Thus, <code>#</code> can be used
 on abstract data types.</p></div><div class="subs minimal"><p class="caption">Minimal complete definition</p><p class="src"><a href="Control-Natural.html#v:-35-">(#)</a></p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:-35-" class="def">(#)</a> :: t -&gt; <span class="keyword">forall</span> a. f a -&gt; g a <span class="fixity">infix 0</span><span class="rightedge"></span> <a href="src/Control-Natural.html#%23" class="link">Source</a> <a href="#v:-35-" class="selflink">#</a></p><div class="doc"><p>The invocation method for a natural transformation.</p></div></div><div class="subs instances"><p id="control.i:Transformation" class="caption collapser" onclick="toggleSection('i:Transformation')">Instances</p><div id="section.i:Transformation" class="show"><table><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Transformation:Transformation:1" class="instance expander" onclick="toggleSection('i:ic:Transformation:Transformation:1')"></span> <a href="Control-Natural.html#t:Transformation">Transformation</a> k f g (<a href="Control-Natural.html#t::-126--62-">(:~&gt;)</a> k f g)</span> <a href="src/Control-Natural.html#line-76" class="link">Source</a> <a href="#t:Transformation" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Transformation:Transformation:1" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-35-">(#)</a> :: t -&gt; <span class="keyword">forall</span> a. g a -&gt; (k <a href="Control-Natural.html#t::-126--62-">:~&gt;</a> f) g a <a href="src/Control-Natural.html#%23" class="link">Source</a> <a href="#v:-35-" class="selflink">#</a></p></div></div></td></tr><tr><td class="src clearfix"><span class="inst-left"><span id="control.i:ic:Transformation:Transformation:2" class="instance expander" onclick="toggleSection('i:ic:Transformation:Transformation:2')"></span> <a href="Control-Natural.html#t:Transformation">Transformation</a> <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/Data-Kind.html#t:-42-">*</a> f <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> (<a href="Control-Object.html#t:Object">Object</a> f)</span> <a href="src/Control-Natural.html#line-24" class="link">Source</a> <a href="#t:Transformation" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div id="section.i:ic:Transformation:Transformation:2" class="inst-details hide"><div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:-35-">(#)</a> :: t -&gt; <span class="keyword">forall</span> a. <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.9.1.0/System-IO.html#t:IO">IO</a> a -&gt; <a href="Control-Object.html#t:Object">Object</a> f a <a href="src/Control-Natural.html#%23" class="link">Source</a> <a href="#v:-35-" class="selflink">#</a></p></div></div></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.17.3</p></div></body></html>