This file is indexed.

/usr/share/doc/libghc-syb-doc/html/Data-Generics-Twins.html is in libghc-syb-doc 0.3.6-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>Data.Generics.Twins</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-Twins.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Data-Generics-Twins.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">syb-0.3.6: Scrap Your Boilerplate</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>non-portable (local universal quantification)</td></tr><tr><th>Stability</th><td>experimental</td></tr><tr><th>Maintainer</th><td>generics@haskell.org</td></tr><tr><th>Safe Haskell</th><td>Safe-Infered</td></tr></table><p class="caption">Data.Generics.Twins</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Generic folds and maps that also accumulate
</a></li><li><a href="#g:2">Mapping combinators for twin traversal
</a></li><li><a href="#g:3">Typical twin traversals
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>&quot;Scrap your boilerplate&quot; --- Generic programming in Haskell 
 See <a href="http://www.cs.uu.nl/wiki/GenericProgramming/SYB">http://www.cs.uu.nl/wiki/GenericProgramming/SYB</a>. The present module 
 provides support for multi-parameter traversal, which is also 
 demonstrated with generic operations like equality.
</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"><a href="#v:gfoldlAccum">gfoldlAccum</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> d =&gt; (<span class="keyword">forall</span> e r. <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> e =&gt; a -&gt; c (e -&gt; r) -&gt; e -&gt; (a, c r)) -&gt; (<span class="keyword">forall</span> g.  a -&gt; g -&gt; (a, c g)) -&gt; a -&gt; d -&gt; (a, c d)</li><li class="src short"><a href="#v:gmapAccumT">gmapAccumT</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> d =&gt; (<span class="keyword">forall</span> e. <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> e =&gt; a -&gt; e -&gt; (a, e)) -&gt; a -&gt; d -&gt; (a, d)</li><li class="src short"><a href="#v:gmapAccumM">gmapAccumM</a> :: (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> d, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; (<span class="keyword">forall</span> e. <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> e =&gt; a -&gt; e -&gt; (a, m e)) -&gt; a -&gt; d -&gt; (a, m d)</li><li class="src short"><a href="#v:gmapAccumQl">gmapAccumQl</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> d =&gt; (r -&gt; r' -&gt; r) -&gt; r -&gt; (<span class="keyword">forall</span> e. <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> e =&gt; a -&gt; e -&gt; (a, r')) -&gt; a -&gt; d -&gt; (a, r)</li><li class="src short"><a href="#v:gmapAccumQr">gmapAccumQr</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> d =&gt; (r' -&gt; r -&gt; r) -&gt; r -&gt; (<span class="keyword">forall</span> e. <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> e =&gt; a -&gt; e -&gt; (a, r')) -&gt; a -&gt; d -&gt; (a, r)</li><li class="src short"><a href="#v:gmapAccumQ">gmapAccumQ</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> d =&gt; (<span class="keyword">forall</span> e. <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> e =&gt; a -&gt; e -&gt; (a, q)) -&gt; a -&gt; d -&gt; (a, [q])</li><li class="src short"><a href="#v:gmapAccumA">gmapAccumA</a> :: <span class="keyword">forall</span> b d a. (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> d, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> a) =&gt; (<span class="keyword">forall</span> e. <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> e =&gt; b -&gt; e -&gt; (b, a e)) -&gt; b -&gt; d -&gt; (b, a d)</li><li class="src short"><a href="#v:gzipWithT">gzipWithT</a> :: <a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> <a href="Data-Generics-Aliases.html#t:GenericT">GenericT</a> -&gt; <a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> <a href="Data-Generics-Aliases.html#t:GenericT">GenericT</a></li><li class="src short"><a href="#v:gzipWithM">gzipWithM</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> (<a href="Data-Generics-Aliases.html#t:GenericM">GenericM</a> m) -&gt; <a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> (<a href="Data-Generics-Aliases.html#t:GenericM">GenericM</a> m)</li><li class="src short"><a href="#v:gzipWithQ">gzipWithQ</a> ::  <a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> (<a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> r) -&gt; <a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> (<a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> [r])</li><li class="src short"><a href="#v:geq">geq</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> a =&gt; a -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:gzip">gzip</a> :: <a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> (<a href="Data-Generics-Aliases.html#t:GenericM">GenericM</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a>) -&gt; <a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> (<a href="Data-Generics-Aliases.html#t:GenericM">GenericM</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a>)</li></ul></div><div id="interface"><h1 id="g:1">Generic folds and maps that also accumulate
</h1><div class="top"><p class="src"><a name="v:gfoldlAccum" class="def">gfoldlAccum</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> d =&gt; (<span class="keyword">forall</span> e r. <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> e =&gt; a -&gt; c (e -&gt; r) -&gt; e -&gt; (a, c r)) -&gt; (<span class="keyword">forall</span> g.  a -&gt; g -&gt; (a, c g)) -&gt; a -&gt; d -&gt; (a, c d)<a href="src/Data-Generics-Twins.html#gfoldlAccum" class="link">Source</a></p><div class="doc"><p>gfoldl with accumulation
</p></div></div><div class="top"><p class="src"><a name="v:gmapAccumT" class="def">gmapAccumT</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> d =&gt; (<span class="keyword">forall</span> e. <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> e =&gt; a -&gt; e -&gt; (a, e)) -&gt; a -&gt; d -&gt; (a, d)<a href="src/Data-Generics-Twins.html#gmapAccumT" class="link">Source</a></p><div class="doc"><p>gmapT with accumulation
</p></div></div><div class="top"><p class="src"><a name="v:gmapAccumM" class="def">gmapAccumM</a> :: (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> d, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; (<span class="keyword">forall</span> e. <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> e =&gt; a -&gt; e -&gt; (a, m e)) -&gt; a -&gt; d -&gt; (a, m d)<a href="src/Data-Generics-Twins.html#gmapAccumM" class="link">Source</a></p><div class="doc"><p>gmapM with accumulation
</p></div></div><div class="top"><p class="src"><a name="v:gmapAccumQl" class="def">gmapAccumQl</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> d =&gt; (r -&gt; r' -&gt; r) -&gt; r -&gt; (<span class="keyword">forall</span> e. <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> e =&gt; a -&gt; e -&gt; (a, r')) -&gt; a -&gt; d -&gt; (a, r)<a href="src/Data-Generics-Twins.html#gmapAccumQl" class="link">Source</a></p><div class="doc"><p>gmapQl with accumulation
</p></div></div><div class="top"><p class="src"><a name="v:gmapAccumQr" class="def">gmapAccumQr</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> d =&gt; (r' -&gt; r -&gt; r) -&gt; r -&gt; (<span class="keyword">forall</span> e. <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> e =&gt; a -&gt; e -&gt; (a, r')) -&gt; a -&gt; d -&gt; (a, r)<a href="src/Data-Generics-Twins.html#gmapAccumQr" class="link">Source</a></p><div class="doc"><p>gmapQr with accumulation
</p></div></div><div class="top"><p class="src"><a name="v:gmapAccumQ" class="def">gmapAccumQ</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> d =&gt; (<span class="keyword">forall</span> e. <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> e =&gt; a -&gt; e -&gt; (a, q)) -&gt; a -&gt; d -&gt; (a, [q])<a href="src/Data-Generics-Twins.html#gmapAccumQ" class="link">Source</a></p><div class="doc"><p>gmapQ with accumulation
</p></div></div><div class="top"><p class="src"><a name="v:gmapAccumA" class="def">gmapAccumA</a> :: <span class="keyword">forall</span> b d a. (<a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> d, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Control-Applicative.html#t:Applicative">Applicative</a> a) =&gt; (<span class="keyword">forall</span> e. <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> e =&gt; b -&gt; e -&gt; (b, a e)) -&gt; b -&gt; d -&gt; (b, a d)<a href="src/Data-Generics-Twins.html#gmapAccumA" class="link">Source</a></p><div class="doc"><p>Applicative version
</p></div></div><h1 id="g:2">Mapping combinators for twin traversal
</h1><div class="top"><p class="src"><a name="v:gzipWithT" class="def">gzipWithT</a> :: <a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> <a href="Data-Generics-Aliases.html#t:GenericT">GenericT</a> -&gt; <a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> <a href="Data-Generics-Aliases.html#t:GenericT">GenericT</a><a href="src/Data-Generics-Twins.html#gzipWithT" class="link">Source</a></p><div class="doc"><p>Twin map for transformation 
</p></div></div><div class="top"><p class="src"><a name="v:gzipWithM" class="def">gzipWithM</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> (<a href="Data-Generics-Aliases.html#t:GenericM">GenericM</a> m) -&gt; <a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> (<a href="Data-Generics-Aliases.html#t:GenericM">GenericM</a> m)<a href="src/Data-Generics-Twins.html#gzipWithM" class="link">Source</a></p><div class="doc"><p>Twin map for monadic transformation 
</p></div></div><div class="top"><p class="src"><a name="v:gzipWithQ" class="def">gzipWithQ</a> ::  <a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> (<a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> r) -&gt; <a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> (<a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> [r])<a href="src/Data-Generics-Twins.html#gzipWithQ" class="link">Source</a></p><div class="doc"><p>Twin map for queries
</p></div></div><h1 id="g:3">Typical twin traversals
</h1><div class="top"><p class="src"><a name="v:geq" class="def">geq</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Data.html#t:Data">Data</a> a =&gt; a -&gt; a -&gt; <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Data-Generics-Twins.html#geq" class="link">Source</a></p><div class="doc"><p>Generic equality: an alternative to &quot;deriving Eq&quot;
</p></div></div><div class="top"><p class="src"><a name="v:gzip" class="def">gzip</a> :: <a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> (<a href="Data-Generics-Aliases.html#t:GenericM">GenericM</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a>) -&gt; <a href="Data-Generics-Aliases.html#t:GenericQ">GenericQ</a> (<a href="Data-Generics-Aliases.html#t:GenericM">GenericM</a> <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.5.0.0/Data-Maybe.html#t:Maybe">Maybe</a>)<a href="src/Data-Generics-Twins.html#gzip" class="link">Source</a></p><div class="doc"><p>Generic zip controlled by a function with type-specific branches
</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.10.0</p></div></body></html>