Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 692428056ac305d613b0f3c0c1f947ff > files > 9

ghc-MemoTrie-devel-0.4.9-1.fc14.i686.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.MemoTrie</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-MemoTrie.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"
>MemoTrie-0.4.9: Trie-based memo functions</TD
><TD CLASS="topbut"
><A HREF="src/Data-MemoTrie.html"
>Source code</A
></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.MemoTrie</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Stability</TD
><TD CLASS="infoval"
>experimental</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>conal@conal.net</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"
>Trie-based memoizer
 Adapted from sjanssen's paste: &quot;a lazy trie&quot; <A HREF="http://hpaste.org/3839"
>http://hpaste.org/3839</A
>.
</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"
><SPAN CLASS="keyword"
>class</SPAN
>  <A HREF="#t%3AHasTrie"
>HasTrie</A
> a  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
> <A HREF="#t%3A%3A-%3E%3A"
>:-&gt;:</A
> a :: * -&gt; *</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Atrie"
>trie</A
> ::  (a -&gt; b) -&gt; a <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> b</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Auntrie"
>untrie</A
> ::  (a <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> b) -&gt; a -&gt; b</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aenumerate"
>enumerate</A
> ::  (a <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> b) -&gt; [(a, b)]</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Adomain"
>domain</A
> :: <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> a =&gt; [a]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AidTrie"
>idTrie</A
> :: <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> a =&gt; a <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%40.%40"
>(@.@)</A
> :: (<A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> a, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> b) =&gt; (b <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> c) -&gt; (a <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> b) -&gt; a <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Amemo"
>memo</A
> :: <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> t =&gt; (t -&gt; a) -&gt; t -&gt; a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Amemo2"
>memo2</A
> :: (<A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> s, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> t) =&gt; (s -&gt; t -&gt; a) -&gt; s -&gt; t -&gt; a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Amemo3"
>memo3</A
> :: (<A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> r, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> s, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> t) =&gt; (r -&gt; s -&gt; t -&gt; a) -&gt; r -&gt; s -&gt; t -&gt; a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Amup"
>mup</A
> :: <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> t =&gt; (b -&gt; c) -&gt; (t -&gt; b) -&gt; t -&gt; c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinTrie"
>inTrie</A
> :: (<A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> a, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> c) =&gt; ((a -&gt; b) -&gt; c -&gt; d) -&gt; (a <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> b) -&gt; c <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> d</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinTrie2"
>inTrie2</A
> :: (<A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> a, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> c, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> e) =&gt; ((a -&gt; b) -&gt; (c -&gt; d) -&gt; e -&gt; f) -&gt; (a <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> b) -&gt; (c <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> d) -&gt; e <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> f</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AinTrie3"
>inTrie3</A
> :: (<A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> a, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> c, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> e, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> g) =&gt; ((a -&gt; b) -&gt; (c -&gt; d) -&gt; (e -&gt; f) -&gt; g -&gt; h) -&gt; (a <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> b) -&gt; (c <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> d) -&gt; (e <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> f) -&gt; g <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> h</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="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>class</SPAN
>  <A NAME="t:HasTrie"
><A NAME="t%3AHasTrie"
></A
></A
><B
>HasTrie</B
> a  <SPAN CLASS="keyword"
>where</SPAN
></TD
><TD CLASS="declbut"
><A HREF="src/Data-MemoTrie.html#HasTrie"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Mapping from all elements of <TT
>a</TT
> to the results of some function
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Associated Types</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
> <A NAME="t::->:"
><A NAME="t%3A%3A-%3E%3A"
></A
></A
><B
>:-&gt;:</B
> a :: * -&gt; *</TD
><TD CLASS="declbut"
><A HREF="src/Data-MemoTrie.html#%3A-%3E%3A"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Representation of trie with domain type <TT
>a</TT
>
</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Methods</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:trie"
><A NAME="v%3Atrie"
></A
></A
><B
>trie</B
> ::  (a -&gt; b) -&gt; a <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> b</TD
><TD CLASS="declbut"
><A HREF="src/Data-MemoTrie.html#trie"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Create the trie for the entire domain of a function
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:untrie"
><A NAME="v%3Auntrie"
></A
></A
><B
>untrie</B
> ::  (a <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> b) -&gt; a -&gt; b</TD
><TD CLASS="declbut"
><A HREF="src/Data-MemoTrie.html#untrie"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Convert a trie to a function, i.e., access a field of the trie
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:enumerate"
><A NAME="v%3Aenumerate"
></A
></A
><B
>enumerate</B
> ::  (a <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> b) -&gt; [(a, b)]</TD
><TD CLASS="declbut"
><A HREF="src/Data-MemoTrie.html#enumerate"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>List the trie elements.  Order of keys (<TT
>:: a</TT
>) is always the same.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:HasTrie')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:HasTrie" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Char.html#t%3AChar"
>Char</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt8"
>Int8</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt16"
>Int16</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt32"
>Int32</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Int.html#t%3AInt64"
>Int64</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Prelude.html#t%3AInteger"
>Integer</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Word.html#t%3AWord"
>Word</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Word.html#t%3AWord8"
>Word8</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Word.html#t%3AWord16"
>Word16</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Word.html#t%3AWord32"
>Word32</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Word.html#t%3AWord64"
>Word64</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> ()</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> x =&gt; <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> [x]</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> a, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> b) =&gt; <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Either.html#t%3AEither"
>Either</A
> a b)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> a, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> b) =&gt; <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> (a, b)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> a, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> b, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> c) =&gt; <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> (a, b, c)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:domain"
><A NAME="v%3Adomain"
></A
></A
><B
>domain</B
> :: <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> a =&gt; [a]</TD
><TD CLASS="declbut"
><A HREF="src/Data-MemoTrie.html#domain"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Domain elements of a trie
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:idTrie"
><A NAME="v%3AidTrie"
></A
></A
><B
>idTrie</B
> :: <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> a =&gt; a <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/Data-MemoTrie.html#idTrie"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Identity trie
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:@.@"
><A NAME="v%3A%40.%40"
></A
></A
><B
>(@.@)</B
> :: (<A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> a, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> b) =&gt; (b <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> c) -&gt; (a <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> b) -&gt; a <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> c</TD
><TD CLASS="declbut"
><A HREF="src/Data-MemoTrie.html#%40.%40"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Trie composition
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:memo"
><A NAME="v%3Amemo"
></A
></A
><B
>memo</B
> :: <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> t =&gt; (t -&gt; a) -&gt; t -&gt; a</TD
><TD CLASS="declbut"
><A HREF="src/Data-MemoTrie.html#memo"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Trie-based function memoizer
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:memo2"
><A NAME="v%3Amemo2"
></A
></A
><B
>memo2</B
> :: (<A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> s, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> t) =&gt; (s -&gt; t -&gt; a) -&gt; s -&gt; t -&gt; a</TD
><TD CLASS="declbut"
><A HREF="src/Data-MemoTrie.html#memo2"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Memoize a binary function, on its first argument and then on its
 second.  Take care to exploit any partial evaluation.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:memo3"
><A NAME="v%3Amemo3"
></A
></A
><B
>memo3</B
> :: (<A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> r, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> s, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> t) =&gt; (r -&gt; s -&gt; t -&gt; a) -&gt; r -&gt; s -&gt; t -&gt; a</TD
><TD CLASS="declbut"
><A HREF="src/Data-MemoTrie.html#memo3"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Memoize a ternary function on successive arguments.  Take care to
 exploit any partial evaluation.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:mup"
><A NAME="v%3Amup"
></A
></A
><B
>mup</B
> :: <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> t =&gt; (b -&gt; c) -&gt; (t -&gt; b) -&gt; t -&gt; c</TD
><TD CLASS="declbut"
><A HREF="src/Data-MemoTrie.html#mup"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Lift a memoizer to work with one more argument.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:inTrie"
><A NAME="v%3AinTrie"
></A
></A
><B
>inTrie</B
> :: (<A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> a, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> c) =&gt; ((a -&gt; b) -&gt; c -&gt; d) -&gt; (a <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> b) -&gt; c <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> d</TD
><TD CLASS="declbut"
><A HREF="src/Data-MemoTrie.html#inTrie"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Apply a unary function inside of a trie
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:inTrie2"
><A NAME="v%3AinTrie2"
></A
></A
><B
>inTrie2</B
> :: (<A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> a, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> c, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> e) =&gt; ((a -&gt; b) -&gt; (c -&gt; d) -&gt; e -&gt; f) -&gt; (a <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> b) -&gt; (c <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> d) -&gt; e <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> f</TD
><TD CLASS="declbut"
><A HREF="src/Data-MemoTrie.html#inTrie2"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Apply a binary function inside of a trie
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:inTrie3"
><A NAME="v%3AinTrie3"
></A
></A
><B
>inTrie3</B
> :: (<A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> a, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> c, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> e, <A HREF="Data-MemoTrie.html#t%3AHasTrie"
>HasTrie</A
> g) =&gt; ((a -&gt; b) -&gt; (c -&gt; d) -&gt; (e -&gt; f) -&gt; g -&gt; h) -&gt; (a <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> b) -&gt; (c <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> d) -&gt; (e <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> f) -&gt; g <A HREF="Data-MemoTrie.html#t%3A%3A-%3E%3A"
>:-&gt;:</A
> h</TD
><TD CLASS="declbut"
><A HREF="src/Data-MemoTrie.html#inTrie3"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Apply a ternary function inside of a trie
</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.6.1</TD
></TR
></TABLE
></BODY
></HTML
>