Sophie

Sophie

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

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.UniplateStrOn</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-UniplateStrOn.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Data-Generics-UniplateStrOn.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.UniplateStrOn</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Types
</a></li><li><a href="#g:2">Operations
</a><ul><li><a href="#g:3">Queries
</a></li><li><a href="#g:4">Transformations
</a></li><li><a href="#g:5">Other
</a></li></ul></li><li><a href="#g:6">Helper for writing instances
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p><em>RECOMMENDATION</em>: Use <a href="Data-Generics-Uniplate-Operations.html">Data.Generics.Uniplate.Operations</a> instead.
</p><p>This module retained Haskell 98 compatability, but users who are happy with
multi-parameter type classes should look towards <a href="Data-Generics-Biplate.html">Data.Generics.Biplate</a>.
</p><p>The only function missing from <a href="Data-Generics-Uniplate.html">Data.Generics.Uniplate</a> is <code>fold</code>, as it can be
constructed from <code><a href="Data-Generics-UniplateStr.html#v:children">children</a></code> and has little meaning in a multi-typed setting.
</p><p>All operations, apart from <code><a href="Data-Generics-UniplateStrOn.html#v:childrenOn">childrenOn</a></code>, <code><a href="Data-Generics-UniplateStrOn.html#v:descendOn">descendOn</a></code> and <code><a href="Data-Generics-UniplateStrOn.html#v:holesOn">holesOn</a></code> should perform
identically to their non <code>On</code> counterparts.
</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-UniplateStr.html">Data.Generics.UniplateStr</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:BiplateType">BiplateType</a> from to = from -&gt; (<a href="Data-Generics-Str.html#t:Str">Str</a> to, <a href="Data-Generics-Str.html#t:Str">Str</a> to -&gt; from)</li><li class="src short"><a href="#v:universeOn">universeOn</a> :: <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; from -&gt; [to]</li><li class="src short"><a href="#v:childrenOn">childrenOn</a> :: <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; from -&gt; [to]</li><li class="src short"><a href="#v:transformOn">transformOn</a> :: <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; (to -&gt; to) -&gt; from -&gt; from</li><li class="src short"><a href="#v:transformOnM">transformOnM</a> :: (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to) =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; (to -&gt; m to) -&gt; from -&gt; m from</li><li class="src short"><a href="#v:rewriteOn">rewriteOn</a> :: <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; (to -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> to) -&gt; from -&gt; from</li><li class="src short"><a href="#v:rewriteOnM">rewriteOnM</a> :: (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to) =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; (to -&gt; m (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> to)) -&gt; from -&gt; m from</li><li class="src short"><a href="#v:descendOn">descendOn</a> :: <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; (to -&gt; to) -&gt; from -&gt; from</li><li class="src short"><a href="#v:descendOnM">descendOnM</a> :: (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to) =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; (to -&gt; m to) -&gt; from -&gt; m from</li><li class="src short"><a href="#v:holesOn">holesOn</a> :: <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; from -&gt; [(to, to -&gt; from)]</li><li class="src short"><a href="#v:contextsOn">contextsOn</a> :: <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; from -&gt; [(to, to -&gt; from)]</li><li class="src short"><a href="#v:uniplateOnList">uniplateOnList</a> ::  <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> a b -&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> [a] b</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src">module <a href="Data-Generics-UniplateStr.html">Data.Generics.UniplateStr</a></p></div><h1 id="g:1">Types
</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:BiplateType" class="def">BiplateType</a> from to = from -&gt; (<a href="Data-Generics-Str.html#t:Str">Str</a> to, <a href="Data-Generics-Str.html#t:Str">Str</a> to -&gt; from)<a href="src/Data-Generics-UniplateStrOn.html#BiplateType" class="link">Source</a></p><div class="doc"><p>Return all the top most children of type <code>to</code> within <code>from</code>.
</p><p>If <code>from == to</code> then this function should return the root as the single
 child.
</p></div></div><h1 id="g:2">Operations
</h1><h2 id="g:3">Queries
</h2><div class="top"><p class="src"><a name="v:universeOn" class="def">universeOn</a> :: <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; from -&gt; [to]<a href="src/Data-Generics-UniplateStrOn.html#universeOn" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:childrenOn" class="def">childrenOn</a> :: <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; from -&gt; [to]<a href="src/Data-Generics-UniplateStrOn.html#childrenOn" class="link">Source</a></p><div class="doc"><p>Return the children of a type. If <code>to == from</code> then it returns the
 original element (in contrast to <code><a href="Data-Generics-UniplateStr.html#v:children">children</a></code>)
</p></div></div><h2 id="g:4">Transformations
</h2><div class="top"><p class="src"><a name="v:transformOn" class="def">transformOn</a> :: <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; (to -&gt; to) -&gt; from -&gt; from<a href="src/Data-Generics-UniplateStrOn.html#transformOn" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:transformOnM" class="def">transformOnM</a> :: (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to) =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; (to -&gt; m to) -&gt; from -&gt; m from<a href="src/Data-Generics-UniplateStrOn.html#transformOnM" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:rewriteOn" class="def">rewriteOn</a> :: <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; (to -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> to) -&gt; from -&gt; from<a href="src/Data-Generics-UniplateStrOn.html#rewriteOn" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:rewriteOnM" class="def">rewriteOnM</a> :: (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to) =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; (to -&gt; m (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> to)) -&gt; from -&gt; m from<a href="src/Data-Generics-UniplateStrOn.html#rewriteOnM" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:descendOn" class="def">descendOn</a> :: <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; (to -&gt; to) -&gt; from -&gt; from<a href="src/Data-Generics-UniplateStrOn.html#descendOn" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:descendOnM" class="def">descendOnM</a> :: (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Monad.html#t:Monad">Monad</a> m, <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to) =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; (to -&gt; m to) -&gt; from -&gt; m from<a href="src/Data-Generics-UniplateStrOn.html#descendOnM" class="link">Source</a></p></div><h2 id="g:5">Other
</h2><div class="top"><p class="src"><a name="v:holesOn" class="def">holesOn</a> :: <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; from -&gt; [(to, to -&gt; from)]<a href="src/Data-Generics-UniplateStrOn.html#holesOn" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:contextsOn" class="def">contextsOn</a> :: <a href="Data-Generics-UniplateStr.html#t:Uniplate">Uniplate</a> to =&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> from to -&gt; from -&gt; [(to, to -&gt; from)]<a href="src/Data-Generics-UniplateStrOn.html#contextsOn" class="link">Source</a></p></div><h1 id="g:6">Helper for writing instances
</h1><div class="top"><p class="src"><a name="v:uniplateOnList" class="def">uniplateOnList</a> ::  <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> a b -&gt; <a href="Data-Generics-UniplateStrOn.html#t:BiplateType">BiplateType</a> [a] b<a href="src/Data-Generics-UniplateStrOn.html#uniplateOnList" class="link">Source</a></p><div class="doc"><p>Used for defining instances <code>UniplateFoo a =&gt; UniplateFoo [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>