polyparse-1.0: docs/haddock/Text-ParserCombinators-HuttonMeijer.html
<!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
>Text.ParserCombinators.HuttonMeijer</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock.js" TYPE="text/javascript"
></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"
>polyparse</TD
><TD CLASS="topbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.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"
>Text.ParserCombinators.HuttonMeijer</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Portability</TD
><TD CLASS="infoval"
>All
A LIBRARY OF MONADIC PARSER COMBINATORS
29th July 1996
Graham Hutton Erik Meijer
University of Nottingham University of Utrecht</TD
></TR
><TR
><TD CLASS="infohead"
>Stability</TD
><TD CLASS="infoval"
>Stable</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>Malcolm Wallace <Malcolm.Wallace@cs.york.ac.uk></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
><P
>This Haskell script defines a library of parser combinators, and is
taken from sections 1-6 of our article <A HREF="Monadic Parser Combinators.html"
>Monadic Parser Combinators</A
>.
Some changes to the library have been made in the move from Gofer
to Haskell:
</P
><UL
><LI
> Do notation is used in place of monad comprehension notation;
</LI
><LI
> The parser datatype is defined using <A HREF="newtype.html"
>newtype</A
>, to avoid the overhead
of tagging and untagging parsers with the P constructor.
</LI
></UL
></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"
>newtype</SPAN
> <A HREF="#t%3AParser"
>Parser</A
> a = <A HREF="#v%3AP"
>P</A
> ([Token] -> [(a, [Token])])</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aitem"
>item</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Token</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Afirst"
>first</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Apapply"
>papply</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> [Token] -> [(a, [Token])]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%2B%2B%2B"
>(+++)</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Asat"
>sat</A
> :: (Token -> Bool) -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Token</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Amany"
>many</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> [a]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Amany1"
>many1</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> [a]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Asepby"
>sepby</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> b -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> [a]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Asepby1"
>sepby1</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> b -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> [a]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Achainl"
>chainl</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> (a -> a -> a) -> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Achainl1"
>chainl1</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> (a -> a -> a) -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Achainr"
>chainr</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> (a -> a -> a) -> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Achainr1"
>chainr1</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> (a -> a -> a) -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aops"
>ops</A
> :: [(<A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a, b)] -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Abracket"
>bracket</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> b -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> c -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Achar"
>char</A
> :: Char -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Char</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Adigit"
>digit</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Char</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Alower"
>lower</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Char</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aupper"
>upper</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Char</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aletter"
>letter</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Char</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aalphanum"
>alphanum</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Char</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Astring"
>string</A
> :: String -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aident"
>ident</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Anat"
>nat</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Int</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aint"
>int</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Int</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aspaces"
>spaces</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> ()</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Acomment"
>comment</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> ()</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Ajunk"
>junk</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> ()</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Askip"
>skip</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Atoken"
>token</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Anatural"
>natural</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Int</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Ainteger"
>integer</A
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Int</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Asymbol"
>symbol</A
> :: String -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> String</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aidentifier"
>identifier</A
> :: [String] -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> String</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"
>newtype</SPAN
> <A NAME="t%3AParser"
></A
><B
>Parser</B
> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#Parser"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>The parser monad
</TD
></TR
><TR
><TD CLASS="section4"
>Constructors</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="arg"
><A NAME="v%3AP"
></A
><B
>P</B
> ([Token] -> [(a, [Token])])</TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Parser')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Parser" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
>Functor <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
></TD
></TR
><TR
><TD CLASS="decl"
>Monad <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
></TD
></TR
><TR
><TD CLASS="decl"
>MonadPlus <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
></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%3Aitem"
></A
><B
>item</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Token</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#item"
>Source</A
></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%3Afirst"
></A
><B
>first</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#first"
>Source</A
></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%3Apapply"
></A
><B
>papply</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> [Token] -> [(a, [Token])]</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#papply"
>Source</A
></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%3A%2B%2B%2B"
></A
><B
>(+++)</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#%2B%2B%2B"
>Source</A
></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%3Asat"
></A
><B
>sat</B
> :: (Token -> Bool) -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Token</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#sat"
>Source</A
></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%3Amany"
></A
><B
>many</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> [a]</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#many"
>Source</A
></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%3Amany1"
></A
><B
>many1</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> [a]</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#many1"
>Source</A
></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%3Asepby"
></A
><B
>sepby</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> b -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> [a]</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#sepby"
>Source</A
></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%3Asepby1"
></A
><B
>sepby1</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> b -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> [a]</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#sepby1"
>Source</A
></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%3Achainl"
></A
><B
>chainl</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> (a -> a -> a) -> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#chainl"
>Source</A
></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%3Achainl1"
></A
><B
>chainl1</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> (a -> a -> a) -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#chainl1"
>Source</A
></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%3Achainr"
></A
><B
>chainr</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> (a -> a -> a) -> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#chainr"
>Source</A
></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%3Achainr1"
></A
><B
>chainr1</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> (a -> a -> a) -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#chainr1"
>Source</A
></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%3Aops"
></A
><B
>ops</B
> :: [(<A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a, b)] -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> b</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#ops"
>Source</A
></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%3Abracket"
></A
><B
>bracket</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> b -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> c -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> b</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#bracket"
>Source</A
></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%3Achar"
></A
><B
>char</B
> :: Char -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Char</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#char"
>Source</A
></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%3Adigit"
></A
><B
>digit</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Char</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#digit"
>Source</A
></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%3Alower"
></A
><B
>lower</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Char</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#lower"
>Source</A
></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%3Aupper"
></A
><B
>upper</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Char</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#upper"
>Source</A
></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%3Aletter"
></A
><B
>letter</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Char</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#letter"
>Source</A
></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%3Aalphanum"
></A
><B
>alphanum</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Char</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#alphanum"
>Source</A
></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%3Astring"
></A
><B
>string</B
> :: String -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> String</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#string"
>Source</A
></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%3Aident"
></A
><B
>ident</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> String</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#ident"
>Source</A
></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%3Anat"
></A
><B
>nat</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Int</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#nat"
>Source</A
></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%3Aint"
></A
><B
>int</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Int</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#int"
>Source</A
></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%3Aspaces"
></A
><B
>spaces</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> ()</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#spaces"
>Source</A
></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%3Acomment"
></A
><B
>comment</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> ()</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#comment"
>Source</A
></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%3Ajunk"
></A
><B
>junk</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> ()</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#junk"
>Source</A
></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%3Askip"
></A
><B
>skip</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#skip"
>Source</A
></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%3Atoken"
></A
><B
>token</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#token"
>Source</A
></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%3Anatural"
></A
><B
>natural</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Int</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#natural"
>Source</A
></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%3Ainteger"
></A
><B
>integer</B
> :: <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> Int</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#integer"
>Source</A
></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%3Asymbol"
></A
><B
>symbol</B
> :: String -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> String</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#symbol"
>Source</A
></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%3Aidentifier"
></A
><B
>identifier</B
> :: [String] -> <A HREF="Text-ParserCombinators-HuttonMeijer.html#t%3AParser"
>Parser</A
> String</TD
><TD CLASS="declbut"
><A HREF="src/Text/ParserCombinators/HuttonMeijer.html#identifier"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 0.8</TD
></TR
></TABLE
></BODY
></HTML
>