/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: "A Pattern for Almost Compositional Functions"
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 => <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 => (a -> a) -> a -> 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) => (a -> m a) -> a -> 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) => (a -> m ()) -> a -> 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) => (a -> m) -> a -> 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) => (a -> m b) -> a -> 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 => b -> (b -> b -> b) -> (a -> b) -> a -> 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 => <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 => (a -> a) -> a -> 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) => (a -> m a) -> a -> 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) => (a -> m ()) -> a -> 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 ()) (>>)</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) => (a -> m) -> a -> 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) => (a -> m b) -> a -> 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 => b -> (b -> b -> b) -> (a -> b) -> a -> 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>
|