Sophie

Sophie

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

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.Uniplate.Data</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-Uniplate-Data.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Data-Generics-Uniplate-Data.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.Uniplate.Data</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This module defines <code><a href="Data-Generics-Uniplate-Operations.html#t:Uniplate">Uniplate</a></code> / <code><a href="Data-Generics-Uniplate-Operations.html#t:Biplate">Biplate</a></code> instances for every type with a
    <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Data.html#t:Data">Data</a></code> instance. Using GHC, Data can be derived automatically with:
</p><pre> data Expr = Var Int | Neg Expr | Add Expr Expr
             deriving (Data,Typeable)
</pre><p>All the Uniplate operations defined in <a href="Data-Generics-Uniplate-Operations.html">Data.Generics.Uniplate.Operations</a>
    can be used.
</p><p>For faster performance (5x faster, but requires writing instances) switch to
    <a href="Data-Generics-Uniplate-Direct.html">Data.Generics.Uniplate.Direct</a>. If you get instance conflicts
    when using both <code>Data</code> and <code>Direct</code>, switch to <a href="Data-Generics-Uniplate-DataOnly.html">Data.Generics.Uniplate.DataOnly</a>.
</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">module <a href="Data-Generics-Uniplate-Operations.html">Data.Generics.Uniplate.Operations</a></li><li class="src short"><a href="#v:transformBis">transformBis</a> :: <span class="keyword">forall</span> a. <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Data.html#t:Data">Data</a> a =&gt; [[<a href="Data-Generics-Uniplate-Data.html#t:Transformer">Transformer</a>]] -&gt; a -&gt; a</li><li class="src short"><span class="keyword">data</span>  <a href="#t:Transformer">Transformer</a> </li><li class="src short"><a href="#v:transformer">transformer</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Data.html#t:Data">Data</a> a =&gt; (a -&gt; a) -&gt; <a href="Data-Generics-Uniplate-Data.html#t:Transformer">Transformer</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src">module <a href="Data-Generics-Uniplate-Operations.html">Data.Generics.Uniplate.Operations</a></p></div><div class="top"><p class="src"><a name="v:transformBis" class="def">transformBis</a> :: <span class="keyword">forall</span> a. <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Data.html#t:Data">Data</a> a =&gt; [[<a href="Data-Generics-Uniplate-Data.html#t:Transformer">Transformer</a>]] -&gt; a -&gt; a<a href="src/Data-Generics-Uniplate-Internal-Data.html#transformBis" class="link">Source</a></p><div class="doc"><p>Apply a sequence of transformations in order. This function obeys the equivalence:
</p><pre> transformBis [[transformer f],[transformer g],...] == transformBi f . transformBi g . ...
</pre><p>Each item of type <code>[Transformer]</code> is applied in turn, right to left. Within each
   <code>[Transformer]</code>, the individual <code>Transformer</code> values may be interleaved.
</p><p>The implementation will attempt to perform fusion, and avoid walking any part of the
   data structure more than necessary. To further improve performance, you may wish to
   partially apply the first argument, which will calculate information about the relationship
   between the transformations.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Transformer" class="def">Transformer</a>  <a href="src/Data-Generics-Uniplate-Internal-Data.html#Transformer" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:transformer" class="def">transformer</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Data.html#t:Data">Data</a> a =&gt; (a -&gt; a) -&gt; <a href="Data-Generics-Uniplate-Data.html#t:Transformer">Transformer</a><a href="src/Data-Generics-Uniplate-Internal-Data.html#transformer" class="link">Source</a></p><div class="doc"><p>Wrap up a <code>(a -&gt; a)</code> transformation function, to use with <code><a href="Data-Generics-Uniplate-Data.html#v:transformBis">transformBis</a></code>
</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>