Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > d4d89afd994d97d86f808e6225684a4f > files > 57

ghc-uniplate-devel-1.6-5.fc15.i686.rpm

<!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: Help writing simple, concise and fast generic operations.</p></div><div id="content"><div id="module-header"><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: &quot;Scrap your boilerplate: a practical design
    pattern for generic programming&quot; 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 =&gt; (a -&gt; a) -&gt; a -&gt; a</li><li class="src short"><a href="#v:gmapQl">gmapQl</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a =&gt; (r -&gt; r' -&gt; r) -&gt; r -&gt; (a -&gt; r') -&gt; a -&gt; r</li><li class="src short"><a href="#v:gmapQr">gmapQr</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a =&gt; (r' -&gt; r -&gt; r) -&gt; r -&gt; (a -&gt; r') -&gt; a -&gt; r</li><li class="src short"><a href="#v:gmapQ">gmapQ</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a =&gt; (a -&gt; u) -&gt; a -&gt; [u]</li><li class="src short"><a href="#v:gmapQi">gmapQi</a> :: <a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a> a =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -&gt; (a -&gt; u) -&gt; a -&gt; 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/html/libraries/base-4.3.1.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:mkT">mkT</a> ::  (a -&gt; a) -&gt; a -&gt; 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 =&gt; (a -&gt; a) -&gt; b -&gt; b</li><li class="src short"><a href="#v:mkM">mkM</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.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:everywhereM">everywhereM</a> :: (<a href="Data-Generics-Uniplate-Operations.html#t:Biplate">Biplate</a> b a, <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; (a -&gt; m a) -&gt; b -&gt; m b</li><li class="src short"><a href="#v:mkQ">mkQ</a> ::  r -&gt; (a -&gt; r) -&gt; (r, a -&gt; 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 =&gt; (r -&gt; r -&gt; r) -&gt; (r, a -&gt; r) -&gt; b -&gt; 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 =&gt; (a -&gt; a) -&gt; a -&gt; 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 =&gt; (r -&gt; r' -&gt; r) -&gt; r -&gt; (a -&gt; r') -&gt; a -&gt; 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/html/libraries/base-4.3.1.0/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 =&gt; (r' -&gt; r -&gt; r) -&gt; r -&gt; (a -&gt; r') -&gt; a -&gt; 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/html/libraries/base-4.3.1.0/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 =&gt; (a -&gt; u) -&gt; a -&gt; [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 =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -&gt; (a -&gt; u) -&gt; a -&gt; 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/html/libraries/base-4.3.1.0/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/html/libraries/base-4.3.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; (a -&gt; m a) -&gt; a -&gt; 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 -&gt; a) -&gt; a -&gt; 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/html/libraries/base-4.3.1.0/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 =&gt; (a -&gt; a) -&gt; b -&gt; 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/html/libraries/base-4.3.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; (a -&gt; m a) -&gt; a -&gt; 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/html/libraries/base-4.3.1.0/Control-Monad.html#t:Monad">Monad</a> m) =&gt; (a -&gt; m a) -&gt; b -&gt; 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 -&gt; (a -&gt; r) -&gt; (r, a -&gt; 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 =&gt; (r -&gt; r -&gt; r) -&gt; (r, a -&gt; r) -&gt; b -&gt; 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.9.2</p></div></body></html>