This file is indexed.

/usr/share/doc/libghc-uniplate-doc/html/Data-Generics-Compos.html is in libghc-uniplate-doc 1.6.12-4build1.

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>Data.Generics.Compos</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-Generics-Compos.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Data-Generics-Compos.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">uniplate-1.6.12: Help writing simple, concise and fast generic operations.</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Data.Generics.Compos</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Compos compatibility layer. This module serves as a drop-in
    replacement in some situations for some of the Compos operations.
    Only the single-type traversals are supported, on normal
    algebraic data types. Users should also import either <a href="Data-Generics-Uniplate-Data.html">Data.Generics.Uniplate.Data</a>
    or <a href="Data-Generics-Uniplate-Direct.html">Data.Generics.Uniplate.Direct</a>.</p><p>Compos is described in the paper: &quot;A Pattern for Almost Compositional Functions&quot;
    by Bjorn Bringert and Aarne Ranta.</p><ul><li><a href="http://doi.acm.org/10.1145/1159803.1159834">http://doi.acm.org/10.1145/1159803.1159834</a></li><li><a href="http://www.cs.chalmers.se/~bringert/publ/composOp/composOp.pdf">http://www.cs.chalmers.se/~bringert/publ/composOp/composOp.pdf</a></li></ul></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="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a =&gt; <a href="#t:Compos">Compos</a> a</li><li class="src short"><a href="#v:composOp">composOp</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a =&gt; (a -&gt; a) -&gt; a -&gt; a</li><li class="src short"><a href="#v:composOpM">composOpM</a> :: (<a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a, <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 -&gt; m a) -&gt; a -&gt; m a</li><li class="src short"><a href="#v:composOpM_">composOpM_</a> :: (<a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a, <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 -&gt; m ()) -&gt; a -&gt; m ()</li><li class="src short"><a href="#v:composOpMonoid">composOpMonoid</a> :: (<a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a> m) =&gt; (a -&gt; m) -&gt; a -&gt; m</li><li class="src short"><a href="#v:composOpMPlus">composOpMPlus</a> :: (<a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:MonadPlus">MonadPlus</a> m) =&gt; (a -&gt; m b) -&gt; a -&gt; m b</li><li class="src short"><a href="#v:composOpFold">composOpFold</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a =&gt; b -&gt; (b -&gt; b -&gt; b) -&gt; (a -&gt; b) -&gt; a -&gt; b</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">class</span> <a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a =&gt; <a name="t:Compos" class="def">Compos</a> a <a href="src/Data-Generics-Compos.html#Compos" class="link">Source</a></p><div class="doc"><p>If you want to keep an existing type class</p></div></div><div class="top"><p class="src"><a name="v:composOp" class="def">composOp</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a =&gt; (a -&gt; a) -&gt; a -&gt; a <a href="src/Data-Generics-Compos.html#composOp" class="link">Source</a></p><div class="doc"><pre>composOp == <code><a href="Data-Generics-Uniplate-Operations.html#v:descend">descend</a></code></pre></div></div><div class="top"><p class="src"><a name="v:composOpM" class="def">composOpM</a> :: (<a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a, <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 -&gt; m a) -&gt; a -&gt; m a <a href="src/Data-Generics-Compos.html#composOpM" class="link">Source</a></p><div class="doc"><pre>composOpM == <code><a href="Data-Generics-Uniplate-Operations.html#v:descendM">descendM</a></code></pre></div></div><div class="top"><p class="src"><a name="v:composOpM_" class="def">composOpM_</a> :: (<a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a, <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 -&gt; m ()) -&gt; a -&gt; m () <a href="src/Data-Generics-Compos.html#composOpM_" class="link">Source</a></p><div class="doc"><pre>composOpM_ == <code><a href="Data-Generics-Compos.html#v:composOpFold">composOpFold</a></code> (return ()) (&gt;&gt;)</pre></div></div><div class="top"><p class="src"><a name="v:composOpMonoid" class="def">composOpMonoid</a> :: (<a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Data-Monoid.html#t:Monoid">Monoid</a> m) =&gt; (a -&gt; m) -&gt; a -&gt; m <a href="src/Data-Generics-Compos.html#composOpMonoid" class="link">Source</a></p><div class="doc"><pre>composOpMonoid = <code><a href="Data-Generics-Compos.html#v:composOpFold">composOpFold</a></code> mempty mappend</pre></div></div><div class="top"><p class="src"><a name="v:composOpMPlus" class="def">composOpMPlus</a> :: (<a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a, <a href="file:///usr/share/doc/ghc-doc/html/libraries/base-4.8.2.0/Control-Monad.html#t:MonadPlus">MonadPlus</a> m) =&gt; (a -&gt; m b) -&gt; a -&gt; m b <a href="src/Data-Generics-Compos.html#composOpMPlus" class="link">Source</a></p><div class="doc"><pre>composOpMPlus = <code><a href="Data-Generics-Compos.html#v:composOpFold">composOpFold</a></code> mzero mplus</pre></div></div><div class="top"><p class="src"><a name="v:composOpFold" class="def">composOpFold</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a =&gt; b -&gt; (b -&gt; b -&gt; b) -&gt; (a -&gt; b) -&gt; a -&gt; b <a href="src/Data-Generics-Compos.html#composOpFold" class="link">Source</a></p><div class="doc"><p>Probably replace with <code><a href="Data-Generics-Uniplate-Operations.html#v:universe">universe</a></code>, perhaps <code><a href="Data-Generics-Uniplate-Operations.html#v:para">para</a></code></p></div></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>