/usr/share/doc/libghc-uniplate-doc/html/Data-Generics-SYB.html is in libghc-uniplate-doc 1.6.11-2.
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 | <!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.SYB</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-SYB.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Data-Generics-SYB.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.11: 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></table><p class="caption">Data.Generics.SYB</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>SYB compatibility layer. This module serves as a drop-in
replacement in some situations for some of the SYB operations.
Users should also import <a href="Data-Generics-Uniplate-Data.html">Data.Generics.Uniplate.Data</a>.
</p><p>SYB is described in the paper: "Scrap your boilerplate: a practical design
pattern for generic programming" by Ralf Lammel and Simon
Peyton Jones.
</p><ul><li> <a href="http://www.cs.vu.nl/boilerplate/">http://www.cs.vu.nl/boilerplate/</a>
</li><li> <a href="http://doi.acm.org/10.1145/604174.604179">http://doi.acm.org/10.1145/604174.604179</a>
</li><li> <a href="http://www.cs.vu.nl/boilerplate/tldi03.pdf">http://www.cs.vu.nl/boilerplate/tldi03.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"><a href="#v:gmapT">gmapT</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:gmapQl">gmapQl</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a => (r -> r' -> r) -> r -> (a -> r') -> a -> r</li><li class="src short"><a href="#v:gmapQr">gmapQr</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a => (r' -> r -> r) -> r -> (a -> r') -> a -> r</li><li class="src short"><a href="#v:gmapQ">gmapQ</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a => (a -> u) -> a -> [u]</li><li class="src short"><a href="#v:gmapQi">gmapQi</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a => <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a> -> (a -> u) -> a -> u</li><li class="src short"><a href="#v:gmapM">gmapM</a> :: (<a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m) => (a -> m a) -> a -> m a</li><li class="src short"><a href="#v:mkT">mkT</a> :: (a -> a) -> a -> a</li><li class="src short"><a href="#v:everywhere">everywhere</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Biplate">Biplate</a> b a => (a -> a) -> b -> b</li><li class="src short"><a href="#v:mkM">mkM</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m => (a -> m a) -> a -> m a</li><li class="src short"><a href="#v:everywhereM">everywhereM</a> :: (<a href="Data-Generics-Uniplate-Operations.html#t:Biplate">Biplate</a> b a, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m) => (a -> m a) -> b -> m b</li><li class="src short"><a href="#v:mkQ">mkQ</a> :: r -> (a -> r) -> (r, a -> r)</li><li class="src short"><a href="#v:everything">everything</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Biplate">Biplate</a> b a => (r -> r -> r) -> (r, a -> r) -> b -> r</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:gmapT" class="def">gmapT</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a => (a -> a) -> a -> a<a href="src/Data-Generics-SYB.html#gmapT" class="link">Source</a></p><div class="doc"><pre>gmapT == <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:gmapQl" class="def">gmapQl</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a => (r -> r' -> r) -> r -> (a -> r') -> a -> r<a href="src/Data-Generics-SYB.html#gmapQl" class="link">Source</a></p><div class="doc"><p>Use <code><a href="Data-Generics-Uniplate-Operations.html#v:children">children</a></code> and <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.html#v:foldl">foldl</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:gmapQr" class="def">gmapQr</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a => (r' -> r -> r) -> r -> (a -> r') -> a -> r<a href="src/Data-Generics-SYB.html#gmapQr" class="link">Source</a></p><div class="doc"><p>Use <code><a href="Data-Generics-Uniplate-Operations.html#v:children">children</a></code> and <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.html#v:foldr">foldr</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:gmapQ" class="def">gmapQ</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a => (a -> u) -> a -> [u]<a href="src/Data-Generics-SYB.html#gmapQ" class="link">Source</a></p><div class="doc"><p>Use <code><a href="Data-Generics-Uniplate-Operations.html#v:children">children</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:gmapQi" class="def">gmapQi</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a => <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-Int.html#t:Int">Int</a> -> (a -> u) -> a -> u<a href="src/Data-Generics-SYB.html#gmapQi" class="link">Source</a></p><div class="doc"><p>Use <code><a href="Data-Generics-Uniplate-Operations.html#v:children">children</a></code> and <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Data-List.html#v:-33--33-">!!</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:gmapM" class="def">gmapM</a> :: (<a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m) => (a -> m a) -> a -> m a<a href="src/Data-Generics-SYB.html#gmapM" class="link">Source</a></p><div class="doc"><pre>gmapM == <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:mkT" class="def">mkT</a> :: (a -> a) -> a -> a<a href="src/Data-Generics-SYB.html#mkT" class="link">Source</a></p><div class="doc"><pre>mkT == <code><a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Prelude.html#v:id">id</a></code></pre></div></div><div class="top"><p class="src"><a name="v:everywhere" class="def">everywhere</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Biplate">Biplate</a> b a => (a -> a) -> b -> b<a href="src/Data-Generics-SYB.html#everywhere" class="link">Source</a></p><div class="doc"><pre>everywhere == <code><a href="Data-Generics-Uniplate-Operations.html#v:transformBi">transformBi</a></code></pre></div></div><div class="top"><p class="src"><a name="v:mkM" class="def">mkM</a> :: <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m => (a -> m a) -> a -> m a<a href="src/Data-Generics-SYB.html#mkM" class="link">Source</a></p><div class="doc"><pre>mkM == id</pre></div></div><div class="top"><p class="src"><a name="v:everywhereM" class="def">everywhereM</a> :: (<a href="Data-Generics-Uniplate-Operations.html#t:Biplate">Biplate</a> b a, <a href="/usr/share/doc/ghc-doc/html/libraries/base-4.6.0.1/Control-Monad.html#t:Monad">Monad</a> m) => (a -> m a) -> b -> m b<a href="src/Data-Generics-SYB.html#everywhereM" class="link">Source</a></p><div class="doc"><pre>everywhereM == <code><a href="Data-Generics-Uniplate-Operations.html#v:transformBiM">transformBiM</a></code></pre></div></div><div class="top"><p class="src"><a name="v:mkQ" class="def">mkQ</a> :: r -> (a -> r) -> (r, a -> r)<a href="src/Data-Generics-SYB.html#mkQ" class="link">Source</a></p><div class="doc"><p>Only for use with <code><a href="Data-Generics-SYB.html#v:everything">everything</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:everything" class="def">everything</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Biplate">Biplate</a> b a => (r -> r -> r) -> (r, a -> r) -> b -> r<a href="src/Data-Generics-SYB.html#everything" class="link">Source</a></p><div class="doc"><p>Use <code><a href="Data-Generics-Uniplate-Operations.html#v:universe">universe</a></code> or <code><a href="Data-Generics-Uniplate-Operations.html#v:universeBi">universeBi</a></code>, perhaps followed by a fold.
</p><p>Not an exact equivalent to the SYB <code>everything</code>, as the
operators may be applied in different orders.
</p></div></div></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>
|