Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 1f2b142b9d2ef4849a6f5316fa1c5b12 > files > 2871

ghc-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.Twins</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-Twins.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.Twins</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
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF="#1"
>Generic folds and maps that also accumulate
</A
></DT
><DT
><A HREF="#2"
>Mapping combinators for twin traversal
</A
></DT
><DT
><A HREF="#3"
>Typical twin traversals
</A
></DT
></DL
></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 support for multi-parameter traversal, which is also 
 demonstrated with generic operations like equality.
</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%3AgfoldlAccum"
>gfoldlAccum</A
> :: <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> d =&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> e r. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> e =&gt; a -&gt; c (e -&gt; r) -&gt; e -&gt; (a, c r)) -&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> g.  a -&gt; g -&gt; (a, c g)) -&gt; a -&gt; d -&gt; (a, c d)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgmapAccumT"
>gmapAccumT</A
> :: <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> d =&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> e. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> e =&gt; a -&gt; e -&gt; (a, e)) -&gt; a -&gt; d -&gt; (a, d)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgmapAccumM"
>gmapAccumM</A
> :: (<A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> d, <A HREF="../base/Control-Monad.html#t%3AMonad"
>Monad</A
> m) =&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> e. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> e =&gt; a -&gt; e -&gt; (a, m e)) -&gt; a -&gt; d -&gt; (a, m d)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgmapAccumQl"
>gmapAccumQl</A
> :: <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> d =&gt; (r -&gt; r' -&gt; r) -&gt; r -&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> e. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> e =&gt; a -&gt; e -&gt; (a, r')) -&gt; a -&gt; d -&gt; (a, r)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgmapAccumQr"
>gmapAccumQr</A
> :: <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> d =&gt; (r' -&gt; r -&gt; r) -&gt; r -&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> e. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> e =&gt; a -&gt; e -&gt; (a, r')) -&gt; a -&gt; d -&gt; (a, r)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgmapAccumQ"
>gmapAccumQ</A
> :: <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> d =&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> e. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> e =&gt; a -&gt; e -&gt; (a, q)) -&gt; a -&gt; d -&gt; (a, [q])</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgzipWithT"
>gzipWithT</A
> :: <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> <A HREF="Data-Generics-Aliases.html#t%3AGenericT"
>GenericT</A
> -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> <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%3AgzipWithM"
>gzipWithM</A
> :: <A HREF="../base/Control-Monad.html#t%3AMonad"
>Monad</A
> m =&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> (<A HREF="Data-Generics-Aliases.html#t%3AGenericM"
>GenericM</A
> m) -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> (<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%3AgzipWithQ"
>gzipWithQ</A
> ::  <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> (<A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> r) -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> (<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%3Ageq"
>geq</A
> :: <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> a =&gt; a -&gt; a -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Agzip"
>gzip</A
> :: <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> (<A HREF="Data-Generics-Aliases.html#t%3AGenericM"
>GenericM</A
> <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
>) -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> (<A HREF="Data-Generics-Aliases.html#t%3AGenericM"
>GenericM</A
> <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
>)</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
><A NAME="1"
>Generic folds and maps that also accumulate
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gfoldlAccum"
><A NAME="v%3AgfoldlAccum"
></A
></A
><B
>gfoldlAccum</B
> :: <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> d =&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> e r. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> e =&gt; a -&gt; c (e -&gt; r) -&gt; e -&gt; (a, c r)) -&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> g.  a -&gt; g -&gt; (a, c g)) -&gt; a -&gt; d -&gt; (a, c d)</TD
></TR
><TR
><TD CLASS="doc"
>gfoldl with accumulation
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gmapAccumT"
><A NAME="v%3AgmapAccumT"
></A
></A
><B
>gmapAccumT</B
> :: <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> d =&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> e. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> e =&gt; a -&gt; e -&gt; (a, e)) -&gt; a -&gt; d -&gt; (a, d)</TD
></TR
><TR
><TD CLASS="doc"
>gmapT with accumulation
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gmapAccumM"
><A NAME="v%3AgmapAccumM"
></A
></A
><B
>gmapAccumM</B
> :: (<A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> d, <A HREF="../base/Control-Monad.html#t%3AMonad"
>Monad</A
> m) =&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> e. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> e =&gt; a -&gt; e -&gt; (a, m e)) -&gt; a -&gt; d -&gt; (a, m d)</TD
></TR
><TR
><TD CLASS="doc"
>gmapM with accumulation
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gmapAccumQl"
><A NAME="v%3AgmapAccumQl"
></A
></A
><B
>gmapAccumQl</B
> :: <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> d =&gt; (r -&gt; r' -&gt; r) -&gt; r -&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> e. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> e =&gt; a -&gt; e -&gt; (a, r')) -&gt; a -&gt; d -&gt; (a, r)</TD
></TR
><TR
><TD CLASS="doc"
>gmapQl with accumulation
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gmapAccumQr"
><A NAME="v%3AgmapAccumQr"
></A
></A
><B
>gmapAccumQr</B
> :: <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> d =&gt; (r' -&gt; r -&gt; r) -&gt; r -&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> e. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> e =&gt; a -&gt; e -&gt; (a, r')) -&gt; a -&gt; d -&gt; (a, r)</TD
></TR
><TR
><TD CLASS="doc"
>gmapQr with accumulation
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gmapAccumQ"
><A NAME="v%3AgmapAccumQ"
></A
></A
><B
>gmapAccumQ</B
> :: <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> d =&gt; (<SPAN CLASS="keyword"
>forall</SPAN
> e. <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> e =&gt; a -&gt; e -&gt; (a, q)) -&gt; a -&gt; d -&gt; (a, [q])</TD
></TR
><TR
><TD CLASS="doc"
>gmapQ with accumulation
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="2"
><A NAME="2"
>Mapping combinators for twin traversal
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gzipWithT"
><A NAME="v%3AgzipWithT"
></A
></A
><B
>gzipWithT</B
> :: <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> <A HREF="Data-Generics-Aliases.html#t%3AGenericT"
>GenericT</A
> -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> <A HREF="Data-Generics-Aliases.html#t%3AGenericT"
>GenericT</A
></TD
></TR
><TR
><TD CLASS="doc"
>Twin map for transformation 
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gzipWithM"
><A NAME="v%3AgzipWithM"
></A
></A
><B
>gzipWithM</B
> :: <A HREF="../base/Control-Monad.html#t%3AMonad"
>Monad</A
> m =&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> (<A HREF="Data-Generics-Aliases.html#t%3AGenericM"
>GenericM</A
> m) -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> (<A HREF="Data-Generics-Aliases.html#t%3AGenericM"
>GenericM</A
> m)</TD
></TR
><TR
><TD CLASS="doc"
>Twin map for monadic transformation 
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gzipWithQ"
><A NAME="v%3AgzipWithQ"
></A
></A
><B
>gzipWithQ</B
> ::  <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> (<A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> r) -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> (<A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> [r])</TD
></TR
><TR
><TD CLASS="doc"
>Twin map for queries
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="3"
><A NAME="3"
>Typical twin traversals
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:geq"
><A NAME="v%3Ageq"
></A
></A
><B
>geq</B
> :: <A HREF="../base/Data-Data.html#t%3AData"
>Data</A
> a =&gt; a -&gt; a -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="doc"
>Generic equality: an alternative to &quot;deriving Eq&quot;
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gzip"
><A NAME="v%3Agzip"
></A
></A
><B
>gzip</B
> :: <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> (<A HREF="Data-Generics-Aliases.html#t%3AGenericM"
>GenericM</A
> <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
>) -&gt; <A HREF="Data-Generics-Aliases.html#t%3AGenericQ"
>GenericQ</A
> (<A HREF="Data-Generics-Aliases.html#t%3AGenericM"
>GenericM</A
> <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
>)</TD
></TR
><TR
><TD CLASS="doc"
>Generic zip controlled by a function with type-specific branches
</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
>