Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 70ec89744a04da80369b4702b2c37256 > files > 1718

ghc-doc-6.10.4-1mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>Data.Generics.Schemes</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
></SCRIPT
><SCRIPT TYPE="text/javascript"
>window.onload = function () {setSynopsis("mini_Data-Generics-Schemes.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>syb-0.1.0.1: Scrap Your Boilerplate</TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>Data.Generics.Schemes</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Portability</TD
><TD CLASS="infoval"
>non-portable (local universal quantification)</TD
></TR
><TR
><TD CLASS="infohead"
>Stability</TD
><TD CLASS="infoval"
>experimental</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>generics@haskell.org</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
>&quot;Scrap your boilerplate&quot; --- Generic programming in Haskell 
 See <A HREF="http://www.cs.vu.nl/boilerplate/"
>http://www.cs.vu.nl/boilerplate/</A
>. The present module provides
 frequently used generic traversal schemes.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3Aeverywhere"
>everywhere</A
> :: (<SPAN CLASS="keyword"
>forall</SPAN
> a. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> a =&gt; a -&gt; a) -&gt; <SPAN CLASS="keyword"
>forall</SPAN
> a. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> a =&gt; a -&gt; a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aeverywhere%27"
>everywhere'</A
> :: (<SPAN CLASS="keyword"
>forall</SPAN
> a. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> a =&gt; a -&gt; a) -&gt; <SPAN CLASS="keyword"
>forall</SPAN
> a. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> a =&gt; a -&gt; a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AeverywhereBut"
>everywhereBut</A
> :: <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericT"
>GenericT</A
> -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericT"
>GenericT</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AeverywhereM"
>everywhereM</A
> :: <A HREF="../base/Control-Monad.html#t%3AMonad"
>Monad</A
> m =&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericM"
>GenericM</A
> m -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericM"
>GenericM</A
> m</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Asomewhere"
>somewhere</A
> :: <A HREF="../base/Control-Monad.html#t%3AMonadPlus"
>MonadPlus</A
> m =&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericM"
>GenericM</A
> m -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericM"
>GenericM</A
> m</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aeverything"
>everything</A
> ::  (r -&gt; r -&gt; r) -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> r -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> r</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Alistify"
>listify</A
> :: <A HREF="../base/Data-Typeable.html#t%3ATypeable"
>Typeable</A
> r =&gt; (r -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> [r]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Asomething"
>something</A
> ::  <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> u) -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> u)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Asynthesize"
>synthesize</A
> ::  s -&gt; (t -&gt; s -&gt; s) -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> (s -&gt; t) -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> t</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Agsize"
>gsize</A
> :: <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> a =&gt; a -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aglength"
>glength</A
> :: <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Agdepth"
>gdepth</A
> :: <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Agcount"
>gcount</A
> :: <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Agnodecount"
>gnodecount</A
> :: <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Agtypecount"
>gtypecount</A
> :: <A HREF="../base/Data-Typeable.html#t%3ATypeable"
>Typeable</A
> a =&gt; a -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Agfindtype"
>gfindtype</A
> :: (<A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> x, <A HREF="../base/Data-Typeable.html#t%3ATypeable"
>Typeable</A
> y) =&gt; x -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> y</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Documentation</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:everywhere"
><A NAME="v%3Aeverywhere"
></A
></A
><B
>everywhere</B
> :: (<SPAN CLASS="keyword"
>forall</SPAN
> a. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> a =&gt; a -&gt; a) -&gt; <SPAN CLASS="keyword"
>forall</SPAN
> a. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> a =&gt; a -&gt; a</TD
></TR
><TR
><TD CLASS="doc"
>Apply a transformation everywhere in bottom-up manner
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:everywhere'"
><A NAME="v%3Aeverywhere%27"
></A
></A
><B
>everywhere'</B
> :: (<SPAN CLASS="keyword"
>forall</SPAN
> a. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> a =&gt; a -&gt; a) -&gt; <SPAN CLASS="keyword"
>forall</SPAN
> a. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> a =&gt; a -&gt; a</TD
></TR
><TR
><TD CLASS="doc"
>Apply a transformation everywhere in top-down manner
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:everywhereBut"
><A NAME="v%3AeverywhereBut"
></A
></A
><B
>everywhereBut</B
> :: <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericT"
>GenericT</A
> -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericT"
>GenericT</A
></TD
></TR
><TR
><TD CLASS="doc"
>Variation on everywhere with an extra stop condition
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:everywhereM"
><A NAME="v%3AeverywhereM"
></A
></A
><B
>everywhereM</B
> :: <A HREF="../base/Control-Monad.html#t%3AMonad"
>Monad</A
> m =&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericM"
>GenericM</A
> m -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericM"
>GenericM</A
> m</TD
></TR
><TR
><TD CLASS="doc"
>Monadic variation on everywhere
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:somewhere"
><A NAME="v%3Asomewhere"
></A
></A
><B
>somewhere</B
> :: <A HREF="../base/Control-Monad.html#t%3AMonadPlus"
>MonadPlus</A
> m =&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericM"
>GenericM</A
> m -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericM"
>GenericM</A
> m</TD
></TR
><TR
><TD CLASS="doc"
>Apply a monadic transformation at least somewhere
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:everything"
><A NAME="v%3Aeverything"
></A
></A
><B
>everything</B
> ::  (r -&gt; r -&gt; r) -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> r -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> r</TD
></TR
><TR
><TD CLASS="doc"
>Summarise all nodes in top-down, left-to-right order
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:listify"
><A NAME="v%3Alistify"
></A
></A
><B
>listify</B
> :: <A HREF="../base/Data-Typeable.html#t%3ATypeable"
>Typeable</A
> r =&gt; (r -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> [r]</TD
></TR
><TR
><TD CLASS="doc"
>Get a list of all entities that meet a predicate
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:something"
><A NAME="v%3Asomething"
></A
></A
><B
>something</B
> ::  <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> u) -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> (<A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> u)</TD
></TR
><TR
><TD CLASS="doc"
>Look up a subterm by means of a maybe-typed filter
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:synthesize"
><A NAME="v%3Asynthesize"
></A
></A
><B
>synthesize</B
> ::  s -&gt; (t -&gt; s -&gt; s) -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> (s -&gt; t) -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> t</TD
></TR
><TR
><TD CLASS="doc"
>Bottom-up synthesis of a data structure;
   1st argument z is the initial element for the synthesis;
   2nd argument o is for reduction of results from subterms;
   3rd argument f updates the synthesised data according to the given term
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gsize"
><A NAME="v%3Agsize"
></A
></A
><B
>gsize</B
> :: <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> a =&gt; a -&gt; <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Compute size of an arbitrary data structure
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:glength"
><A NAME="v%3Aglength"
></A
></A
><B
>glength</B
> :: <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Count the number of immediate subterms of the given term
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gdepth"
><A NAME="v%3Agdepth"
></A
></A
><B
>gdepth</B
> :: <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Determine depth of the given term
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gcount"
><A NAME="v%3Agcount"
></A
></A
><B
>gcount</B
> :: <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Determine the number of all suitable nodes in a given term
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gnodecount"
><A NAME="v%3Agnodecount"
></A
></A
><B
>gnodecount</B
> :: <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Determine the number of all nodes in a given term
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gtypecount"
><A NAME="v%3Agtypecount"
></A
></A
><B
>gtypecount</B
> :: <A HREF="../base/Data-Typeable.html#t%3ATypeable"
>Typeable</A
> a =&gt; a -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="doc"
>Determine the number of nodes of a given type in a given term
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gfindtype"
><A NAME="v%3Agfindtype"
></A
></A
><B
>gfindtype</B
> :: (<A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> x, <A HREF="../base/Data-Typeable.html#t%3ATypeable"
>Typeable</A
> y) =&gt; x -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> y</TD
></TR
><TR
><TD CLASS="doc"
>Find (unambiguously) an immediate subterm of a given type
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.4.2</TD
></TR
></TABLE
></BODY
></HTML
>