Sophie

Sophie

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

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
>Text.Read</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_Text-Read.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"
>base-4.1.0.0: Basic libraries</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.Read</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Portability</TD
><TD CLASS="infoval"
>non-portable (uses Text.ParserCombinators.ReadP)</TD
></TR
><TR
><TD CLASS="infohead"
>Stability</TD
><TD CLASS="infoval"
>provisional</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>libraries@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"
>The <TT
><A HREF="Text-Read.html#t%3ARead"
>Read</A
></TT
> class
</A
></DT
><DT
><A HREF="#2"
>Haskell 98 functions
</A
></DT
><DT
><A HREF="#3"
>New parsing functions
</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"
><P
>Converting strings to values.
</P
><P
>The <A HREF="Text-Read.html"
>Text.Read</A
> library is the canonical library to import for
 <TT
><A HREF="Text-Read.html#t%3ARead"
>Read</A
></TT
>-class facilities.  For GHC only, it offers an extended and much
 improved <TT
><A HREF="Text-Read.html#t%3ARead"
>Read</A
></TT
> class, which constitutes a proposed alternative to the 
 Haskell 98 <TT
><A HREF="Text-Read.html#t%3ARead"
>Read</A
></TT
>.  In particular, writing parsers is easier, and
 the parsers are much more efficient.
</P
></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%3ARead"
>Read</A
> a  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadsPrec"
>readsPrec</A
> :: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> -&gt; <A HREF="Text-Read.html#t%3AReadS"
>ReadS</A
> a</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadList"
>readList</A
> :: <A HREF="Text-Read.html#t%3AReadS"
>ReadS</A
> [a]</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadPrec"
>readPrec</A
> :: <A HREF="Text-ParserCombinators-ReadPrec.html#t%3AReadPrec"
>ReadPrec</A
> a</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadListPrec"
>readListPrec</A
> :: <A HREF="Text-ParserCombinators-ReadPrec.html#t%3AReadPrec"
>ReadPrec</A
> [a]</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AReadS"
>ReadS</A
> a = <A HREF="Data-Char.html#t%3AString"
>String</A
> -&gt; [(a, <A HREF="Data-Char.html#t%3AString"
>String</A
>)]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Areads"
>reads</A
> :: <A HREF="Text-Read.html#t%3ARead"
>Read</A
> a =&gt; <A HREF="Text-Read.html#t%3AReadS"
>ReadS</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aread"
>read</A
> :: <A HREF="Text-Read.html#t%3ARead"
>Read</A
> a =&gt; <A HREF="Data-Char.html#t%3AString"
>String</A
> -&gt; a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadParen"
>readParen</A
> ::  <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Text-Read.html#t%3AReadS"
>ReadS</A
> a -&gt; <A HREF="Text-Read.html#t%3AReadS"
>ReadS</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Alex"
>lex</A
> :: <A HREF="Text-Read.html#t%3AReadS"
>ReadS</A
> <A HREF="Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
>module <A HREF="Text-ParserCombinators-ReadPrec.html"
>Text.ParserCombinators.ReadPrec</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ALexeme"
>Lexeme</A
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
>= <A HREF="#v%3AChar"
>Char</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AString"
>String</A
> <A HREF="Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3APunc"
>Punc</A
> <A HREF="Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AIdent"
>Ident</A
> <A HREF="Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ASymbol"
>Symbol</A
> <A HREF="Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AInt"
>Int</A
> <A HREF="../integer/GHC-Integer.html#t%3AInteger"
>Integer</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3ARat"
>Rat</A
> <A HREF="Prelude.html#t%3ARational"
>Rational</A
></TD
></TR
><TR
><TD CLASS="decl"
>| <A HREF="#v%3AEOF"
>EOF</A
></TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlexP"
>lexP</A
> :: <A HREF="Text-ParserCombinators-ReadPrec.html#t%3AReadPrec"
>ReadPrec</A
> <A HREF="Text-Read.html#t%3ALexeme"
>Lexeme</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aparens"
>parens</A
> ::  <A HREF="Text-ParserCombinators-ReadPrec.html#t%3AReadPrec"
>ReadPrec</A
> a -&gt; <A HREF="Text-ParserCombinators-ReadPrec.html#t%3AReadPrec"
>ReadPrec</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadListDefault"
>readListDefault</A
> :: <A HREF="Text-Read.html#t%3ARead"
>Read</A
> a =&gt; <A HREF="Text-Read.html#t%3AReadS"
>ReadS</A
> [a]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadListPrecDefault"
>readListPrecDefault</A
> :: <A HREF="Text-Read.html#t%3ARead"
>Read</A
> a =&gt; <A HREF="Text-ParserCombinators-ReadPrec.html#t%3AReadPrec"
>ReadPrec</A
> [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"
>The <TT
><A HREF="Text-Read.html#t%3ARead"
>Read</A
></TT
> class
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
>  <A NAME="t:Read"
><A NAME="t%3ARead"
></A
></A
><B
>Read</B
> a  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>Parsing of <TT
><A HREF="Data-Char.html#t%3AString"
>String</A
></TT
>s, producing values.
</P
><P
>Minimal complete definition: <TT
><A HREF="Text-Read.html#v%3AreadsPrec"
>readsPrec</A
></TT
> (or, for GHC only, <TT
><A HREF="Text-Read.html#v%3AreadPrec"
>readPrec</A
></TT
>)
</P
><P
>Derived instances of <TT
><A HREF="Text-Read.html#t%3ARead"
>Read</A
></TT
> make the following assumptions, which
 derived instances of Text.Show.Show obey:
</P
><UL
><LI
> If the constructor is defined to be an infix operator, then the
   derived <TT
><A HREF="Text-Read.html#t%3ARead"
>Read</A
></TT
> instance will parse only infix applications of
   the constructor (not the prefix form).
</LI
><LI
> Associativity is not used to reduce the occurrence of parentheses,
   although precedence may be.
</LI
><LI
> If the constructor is defined using record syntax, the derived <TT
><A HREF="Text-Read.html#t%3ARead"
>Read</A
></TT
>
   will parse only the record-syntax form, and furthermore, the fields
   must be given in the same order as the original declaration.
</LI
><LI
> The derived <TT
><A HREF="Text-Read.html#t%3ARead"
>Read</A
></TT
> instance allows arbitrary Haskell whitespace
   between tokens of the input string.  Extra parentheses are also
   allowed.
</LI
></UL
><P
>For example, given the declarations
</P
><PRE
> infixr 5 :^:
 data Tree a =  Leaf a  |  Tree a :^: Tree a
</PRE
><P
>the derived instance of <TT
><A HREF="Text-Read.html#t%3ARead"
>Read</A
></TT
> in Haskell 98 is equivalent to
</P
><PRE
> instance (Read a) =&gt; Read (Tree a) where

         readsPrec d r =  readParen (d &gt; app_prec)
                          (\r -&gt; [(Leaf m,t) |
                                  (&quot;Leaf&quot;,s) &lt;- lex r,
                                  (m,t) &lt;- readsPrec (app_prec+1) s]) r

                       ++ readParen (d &gt; up_prec)
                          (\r -&gt; [(u:^:v,w) |
                                  (u,s) &lt;- readsPrec (up_prec+1) r,
                                  (&quot;:^:&quot;,t) &lt;- lex s,
                                  (v,w) &lt;- readsPrec (up_prec+1) t]) r

           where app_prec = 10
                 up_prec = 5
</PRE
><P
>Note that right-associativity of <TT
>:^:</TT
> is unused.
</P
><P
>The derived instance in GHC is equivalent to
</P
><PRE
> instance (Read a) =&gt; Read (Tree a) where

         readPrec = parens $ (prec app_prec $ do
                                  Ident &quot;Leaf&quot; &lt;- lexP
                                  m &lt;- step readPrec
                                  return (Leaf m))

                      +++ (prec up_prec $ do
                                  u &lt;- step readPrec
                                  Symbol &quot;:^:&quot; &lt;- lexP
                                  v &lt;- step readPrec
                                  return (u :^: v))

           where app_prec = 10
                 up_prec = 5

         readListPrec = readListPrecDefault
</PRE
></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="decl"
><A NAME="v:readsPrec"
><A NAME="v%3AreadsPrec"
></A
></A
><B
>readsPrec</B
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="arg"
>:: <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
><TD CLASS="rdoc"
>the operator precedence of the enclosing
 context (a number from <TT
>0</TT
> to <TT
>11</TT
>).
 Function application has precedence <TT
>10</TT
>.
</TD
></TR
><TR
><TD CLASS="arg"
>-&gt; <A HREF="Text-Read.html#t%3AReadS"
>ReadS</A
> a</TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="ndoc" COLSPAN="2"
><P
>attempts to parse a value from the front of the string, returning
 a list of (parsed value, remaining string) pairs.  If there is no
 successful parse, the returned list is empty.
</P
><P
>Derived instances of <TT
><A HREF="Text-Read.html#t%3ARead"
>Read</A
></TT
> and Text.Show.Show satisfy the following:
</P
><UL
><LI
> <TT
>(x,&quot;&quot;)</TT
> is an element of
   <TT
>(<TT
><A HREF="Text-Read.html#v%3AreadsPrec"
>readsPrec</A
></TT
> d (Text.Show.showsPrec d x &quot;&quot;))</TT
>.
</LI
></UL
><P
>That is, <TT
><A HREF="Text-Read.html#v%3AreadsPrec"
>readsPrec</A
></TT
> parses the string produced by
 Text.Show.showsPrec, and delivers the value that
 Text.Show.showsPrec started with.
</P
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readList"
><A NAME="v%3AreadList"
></A
></A
><B
>readList</B
> :: <A HREF="Text-Read.html#t%3AReadS"
>ReadS</A
> [a]</TD
></TR
><TR
><TD CLASS="doc"
>The method <TT
><A HREF="Text-Read.html#v%3AreadList"
>readList</A
></TT
> is provided to allow the programmer to
 give a specialised way of parsing lists of values.
 For example, this is used by the predefined <TT
><A HREF="Text-Read.html#t%3ARead"
>Read</A
></TT
> instance of
 the <TT
><A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
></TT
> type, where values of type <TT
><A HREF="Data-Char.html#t%3AString"
>String</A
></TT
> should be are
 expected to use double quotes, rather than square brackets.
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readPrec"
><A NAME="v%3AreadPrec"
></A
></A
><B
>readPrec</B
> :: <A HREF="Text-ParserCombinators-ReadPrec.html#t%3AReadPrec"
>ReadPrec</A
> a</TD
></TR
><TR
><TD CLASS="doc"
>Proposed replacement for <TT
><A HREF="Text-Read.html#v%3AreadsPrec"
>readsPrec</A
></TT
> using new-style parsers (GHC only).
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readListPrec"
><A NAME="v%3AreadListPrec"
></A
></A
><B
>readListPrec</B
> :: <A HREF="Text-ParserCombinators-ReadPrec.html#t%3AReadPrec"
>ReadPrec</A
> [a]</TD
></TR
><TR
><TD CLASS="doc"
>Proposed replacement for <TT
><A HREF="Text-Read.html#v%3AreadList"
>readList</A
></TT
> using new-style parsers (GHC only).
 The default definition uses <TT
><A HREF="Text-Read.html#v%3AreadList"
>readList</A
></TT
>.  Instances that define <TT
><A HREF="Text-Read.html#v%3AreadPrec"
>readPrec</A
></TT
>
 should also define <TT
><A HREF="Text-Read.html#v%3AreadListPrec"
>readListPrec</A
></TT
> as <TT
><A HREF="Text-Read.html#v%3AreadListPrecDefault"
>readListPrecDefault</A
></TT
>.
</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:Read')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Read" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3ADouble"
>Double</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AFloat"
>Float</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Data-Int.html#t%3AInt8"
>Int8</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Data-Int.html#t%3AInt16"
>Int16</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Data-Int.html#t%3AInt32"
>Int32</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Data-Int.html#t%3AInt64"
>Int64</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="../integer/GHC-Integer.html#t%3AInteger"
>Integer</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Data-Word.html#t%3AWord"
>Word</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Data-Word.html#t%3AWord8"
>Word8</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Data-Word.html#t%3AWord16"
>Word16</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Data-Word.html#t%3AWord32"
>Word32</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Data-Word.html#t%3AWord64"
>Word64</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Text-Read.html#t%3ALexeme"
>Lexeme</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACUIntMax"
>CUIntMax</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACIntMax"
>CIntMax</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACUIntPtr"
>CUIntPtr</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACIntPtr"
>CIntPtr</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACTime"
>CTime</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACClock"
>CClock</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACSigAtomic"
>CSigAtomic</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACWchar"
>CWchar</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACSize"
>CSize</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACPtrdiff"
>CPtrdiff</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACLDouble"
>CLDouble</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACDouble"
>CDouble</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACFloat"
>CFloat</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACULLong"
>CULLong</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACLLong"
>CLLong</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACULong"
>CULong</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACLong"
>CLong</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACUInt"
>CUInt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACInt"
>CInt</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACUShort"
>CUShort</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACShort"
>CShort</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACUChar"
>CUChar</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACSChar"
>CSChar</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-C-Types.html#t%3ACChar"
>CChar</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="System-IO.html#t%3AIOMode"
>IOMode</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="System-Exit.html#t%3AExitCode"
>ExitCode</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="System-IO.html#t%3ABufferMode"
>BufferMode</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Data-Char.html#t%3AGeneralCategory"
>GeneralCategory</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-Ptr.html#t%3AIntPtr"
>IntPtr</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Foreign-Ptr.html#t%3AWordPtr"
>WordPtr</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="System-Posix-Types.html#t%3AFd"
>Fd</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="System-Posix-Types.html#t%3ACRLim"
>CRLim</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="System-Posix-Types.html#t%3ACTcflag"
>CTcflag</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="System-Posix-Types.html#t%3ACSpeed"
>CSpeed</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="System-Posix-Types.html#t%3ACCc"
>CCc</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="System-Posix-Types.html#t%3ACUid"
>CUid</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="System-Posix-Types.html#t%3ACNlink"
>CNlink</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="System-Posix-Types.html#t%3ACGid"
>CGid</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="System-Posix-Types.html#t%3ACSsize"
>CSsize</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="System-Posix-Types.html#t%3ACPid"
>CPid</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="System-Posix-Types.html#t%3ACOff"
>COff</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="System-Posix-Types.html#t%3ACMode"
>CMode</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="System-Posix-Types.html#t%3ACIno"
>CIno</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="System-Posix-Types.html#t%3ACDev"
>CDev</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="System-IO.html#t%3ASeekMode"
>SeekMode</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Data-Monoid.html#t%3AAny"
>Any</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Data-Monoid.html#t%3AAll"
>All</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Data-Version.html#t%3AVersion"
>Version</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> a =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> ([] a)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Prelude.html#t%3AIntegral"
>Integral</A
> a, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> a) =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="Data-Ratio.html#t%3ARatio"
>Ratio</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> a =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> ([::] a)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> a =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="Data-Maybe.html#t%3AMaybe"
>Maybe</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-Read.html#t%3ARead"
>Read</A
> a, <A HREF="Prelude.html#t%3ARealFloat"
>RealFloat</A
> a) =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="Data-Complex.html#t%3AComplex"
>Complex</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> a =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="Data-Monoid.html#t%3ALast"
>Last</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> a =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="Data-Monoid.html#t%3AFirst"
>First</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> a =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="Data-Monoid.html#t%3AProduct"
>Product</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> a =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="Data-Monoid.html#t%3ASum"
>Sum</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> a =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="Data-Monoid.html#t%3ADual"
>Dual</A
> a)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-Read.html#t%3ARead"
>Read</A
> a, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> b) =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="Data-Either.html#t%3AEither"
>Either</A
> a b)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-Read.html#t%3ARead"
>Read</A
> a, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> b) =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="../ghc-prim/GHC-Tuple.html#t%3A%28%2C%29"
>(,)</A
> a b)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="GHC-Arr.html#t%3AIx"
>Ix</A
> a, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> a, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> b) =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="GHC-Arr.html#t%3AArray"
>Array</A
> a b)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-Read.html#t%3ARead"
>Read</A
> a, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> b, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> c) =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="../ghc-prim/GHC-Tuple.html#t%3A%28%2C%2C%29"
>(,,)</A
> a b c)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-Read.html#t%3ARead"
>Read</A
> a, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> b, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> c, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> d) =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="../ghc-prim/GHC-Tuple.html#t%3A%28%2C%2C%2C%29"
>(,,,)</A
> a b c d)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-Read.html#t%3ARead"
>Read</A
> a, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> b, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> c, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> d, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> e) =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="../ghc-prim/GHC-Tuple.html#t%3A%28%2C%2C%2C%2C%29"
>(,,,,)</A
> a b c d e)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-Read.html#t%3ARead"
>Read</A
> a, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> b, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> c, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> d, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> e, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> f) =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="../ghc-prim/GHC-Tuple.html#t%3A%28%2C%2C%2C%2C%2C%29"
>(,,,,,)</A
> a b c d e f)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-Read.html#t%3ARead"
>Read</A
> a, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> b, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> c, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> d, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> e, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> f, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> g) =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="../ghc-prim/GHC-Tuple.html#t%3A%28%2C%2C%2C%2C%2C%2C%29"
>(,,,,,,)</A
> a b c d e f g)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-Read.html#t%3ARead"
>Read</A
> a, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> b, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> c, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> d, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> e, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> f, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> g, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> h) =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="../ghc-prim/GHC-Tuple.html#t%3A%28%2C%2C%2C%2C%2C%2C%2C%29"
>(,,,,,,,)</A
> a b c d e f g h)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-Read.html#t%3ARead"
>Read</A
> a, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> b, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> c, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> d, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> e, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> f, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> g, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> h, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> i) =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="../ghc-prim/GHC-Tuple.html#t%3A%28%2C%2C%2C%2C%2C%2C%2C%2C%29"
>(,,,,,,,,)</A
> a b c d e f g h i)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-Read.html#t%3ARead"
>Read</A
> a, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> b, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> c, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> d, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> e, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> f, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> g, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> h, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> i, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> j) =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="../ghc-prim/GHC-Tuple.html#t%3A%28%2C%2C%2C%2C%2C%2C%2C%2C%2C%29"
>(,,,,,,,,,)</A
> a b c d e f g h i j)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-Read.html#t%3ARead"
>Read</A
> a, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> b, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> c, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> d, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> e, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> f, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> g, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> h, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> i, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> j, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> k) =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="../ghc-prim/GHC-Tuple.html#t%3A%28%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%29"
>(,,,,,,,,,,)</A
> a b c d e f g h i j k)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-Read.html#t%3ARead"
>Read</A
> a, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> b, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> c, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> d, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> e, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> f, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> g, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> h, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> i, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> j, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> k, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> l) =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="../ghc-prim/GHC-Tuple.html#t%3A%28%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%29"
>(,,,,,,,,,,,)</A
> a b c d e f g h i j k l)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-Read.html#t%3ARead"
>Read</A
> a, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> b, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> c, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> d, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> e, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> f, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> g, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> h, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> i, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> j, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> k, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> l, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> m) =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="../ghc-prim/GHC-Tuple.html#t%3A%28%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%29"
>(,,,,,,,,,,,,)</A
> a b c d e f g h i j k l m)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-Read.html#t%3ARead"
>Read</A
> a, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> b, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> c, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> d, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> e, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> f, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> g, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> h, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> i, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> j, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> k, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> l, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> m, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> n) =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="../ghc-prim/GHC-Tuple.html#t%3A%28%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%29"
>(,,,,,,,,,,,,,)</A
> a b c d e f g h i j k l m n)</TD
></TR
><TR
><TD CLASS="decl"
>(<A HREF="Text-Read.html#t%3ARead"
>Read</A
> a, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> b, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> c, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> d, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> e, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> f, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> g, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> h, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> i, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> j, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> k, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> l, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> m, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> n, <A HREF="Text-Read.html#t%3ARead"
>Read</A
> o) =&gt; <A HREF="Text-Read.html#t%3ARead"
>Read</A
> (<A HREF="../ghc-prim/GHC-Tuple.html#t%3A%28%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%2C%29"
>(,,,,,,,,,,,,,,)</A
> a b c d e f g h i j k l m n o)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:ReadS"
><A NAME="t%3AReadS"
></A
></A
><B
>ReadS</B
> a = <A HREF="Data-Char.html#t%3AString"
>String</A
> -&gt; [(a, <A HREF="Data-Char.html#t%3AString"
>String</A
>)]</TD
></TR
><TR
><TD CLASS="doc"
><P
>A parser for a type <TT
>a</TT
>, represented as a function that takes a
 <TT
><A HREF="Data-Char.html#t%3AString"
>String</A
></TT
> and returns a list of possible parses as <TT
>(a,<TT
><A HREF="Data-Char.html#t%3AString"
>String</A
></TT
>)</TT
> pairs.
</P
><P
>Note that this kind of backtracking parser is very inefficient;
 reading a large structure may be quite slow (cf <TT
><A HREF="Text-ParserCombinators-ReadP.html#t%3AReadP"
>ReadP</A
></TT
>).
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="2"
><A NAME="2"
>Haskell 98 functions
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:reads"
><A NAME="v%3Areads"
></A
></A
><B
>reads</B
> :: <A HREF="Text-Read.html#t%3ARead"
>Read</A
> a =&gt; <A HREF="Text-Read.html#t%3AReadS"
>ReadS</A
> a</TD
></TR
><TR
><TD CLASS="doc"
>equivalent to <TT
><A HREF="Text-Read.html#v%3AreadsPrec"
>readsPrec</A
></TT
> with a precedence of 0.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:read"
><A NAME="v%3Aread"
></A
></A
><B
>read</B
> :: <A HREF="Text-Read.html#t%3ARead"
>Read</A
> a =&gt; <A HREF="Data-Char.html#t%3AString"
>String</A
> -&gt; a</TD
></TR
><TR
><TD CLASS="doc"
>The <TT
><A HREF="Text-Read.html#v%3Aread"
>read</A
></TT
> function reads input from a string, which must be
 completely consumed by the input process.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readParen"
><A NAME="v%3AreadParen"
></A
></A
><B
>readParen</B
> ::  <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="Text-Read.html#t%3AReadS"
>ReadS</A
> a -&gt; <A HREF="Text-Read.html#t%3AReadS"
>ReadS</A
> a</TD
></TR
><TR
><TD CLASS="doc"
><P
><TT
><TT
><A HREF="Text-Read.html#v%3AreadParen"
>readParen</A
></TT
> <TT
><A HREF="../ghc-prim/GHC-Bool.html#v%3ATrue"
>True</A
></TT
> p</TT
> parses what <TT
>p</TT
> parses, but surrounded with
 parentheses.
</P
><P
><TT
><TT
><A HREF="Text-Read.html#v%3AreadParen"
>readParen</A
></TT
> <TT
><A HREF="../ghc-prim/GHC-Bool.html#v%3AFalse"
>False</A
></TT
> p</TT
> parses what <TT
>p</TT
> parses, but optionally
 surrounded with parentheses.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:lex"
><A NAME="v%3Alex"
></A
></A
><B
>lex</B
> :: <A HREF="Text-Read.html#t%3AReadS"
>ReadS</A
> <A HREF="Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>The <TT
><A HREF="Text-Read.html#v%3Alex"
>lex</A
></TT
> function reads a single lexeme from the input, discarding
 initial white space, and returning the characters that constitute the
 lexeme.  If the input string contains only white space, <TT
><A HREF="Text-Read.html#v%3Alex"
>lex</A
></TT
> returns a
 single successful `lexeme' consisting of the empty string.  (Thus
 <TT
><TT
><A HREF="Text-Read.html#v%3Alex"
>lex</A
></TT
> &quot;&quot; = [(&quot;&quot;,&quot;&quot;)]</TT
>.)  If there is no legal lexeme at the
 beginning of the input string, <TT
><A HREF="Text-Read.html#v%3Alex"
>lex</A
></TT
> fails (i.e. returns <TT
>[]</TT
>).
</P
><P
>This lexer is not completely faithful to the Haskell lexical syntax
 in the following respects:
</P
><UL
><LI
> Qualified names are not handled properly
</LI
><LI
> Octal and hexadecimal numerics are not recognized as a single token
</LI
><LI
> Comments are not treated properly
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="3"
><A NAME="3"
>New parsing functions
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
>module <A HREF="Text-ParserCombinators-ReadPrec.html"
>Text.ParserCombinators.ReadPrec</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Lexeme"
><A NAME="t%3ALexeme"
></A
></A
><B
>Lexeme</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Haskell lexemes.
</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:Char"
><A NAME="v%3AChar"
></A
></A
><B
>Char</B
> <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
></TD
><TD CLASS="rdoc"
>Character literal
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:String"
><A NAME="v%3AString"
></A
></A
><B
>String</B
> <A HREF="Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>String literal, with escapes interpreted
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Punc"
><A NAME="v%3APunc"
></A
></A
><B
>Punc</B
> <A HREF="Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>Punctuation or reserved symbol, e.g. <TT
>(</TT
>, <TT
>::</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Ident"
><A NAME="v%3AIdent"
></A
></A
><B
>Ident</B
> <A HREF="Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>Haskell identifier, e.g. <TT
>foo</TT
>, <TT
>Baz</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Symbol"
><A NAME="v%3ASymbol"
></A
></A
><B
>Symbol</B
> <A HREF="Data-Char.html#t%3AString"
>String</A
></TD
><TD CLASS="rdoc"
>Haskell symbol, e.g. <TT
>&gt;&gt;</TT
>, <TT
>:%</TT
>
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Int"
><A NAME="v%3AInt"
></A
></A
><B
>Int</B
> <A HREF="../integer/GHC-Integer.html#t%3AInteger"
>Integer</A
></TD
><TD CLASS="rdoc"
>Integer literal
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:Rat"
><A NAME="v%3ARat"
></A
></A
><B
>Rat</B
> <A HREF="Prelude.html#t%3ARational"
>Rational</A
></TD
><TD CLASS="rdoc"
>Floating point literal
</TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:EOF"
><A NAME="v%3AEOF"
></A
></A
><B
>EOF</B
></TD
><TD CLASS="rdoc"
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Lexeme')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Lexeme" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Text-Read.html#t%3ALexeme"
>Lexeme</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Read.html#t%3ARead"
>Read</A
> <A HREF="Text-Read.html#t%3ALexeme"
>Lexeme</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Text-Read.html#t%3ALexeme"
>Lexeme</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:lexP"
><A NAME="v%3AlexP"
></A
></A
><B
>lexP</B
> :: <A HREF="Text-ParserCombinators-ReadPrec.html#t%3AReadPrec"
>ReadPrec</A
> <A HREF="Text-Read.html#t%3ALexeme"
>Lexeme</A
></TD
></TR
><TR
><TD CLASS="doc"
>Parse a single lexeme
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:parens"
><A NAME="v%3Aparens"
></A
></A
><B
>parens</B
> ::  <A HREF="Text-ParserCombinators-ReadPrec.html#t%3AReadPrec"
>ReadPrec</A
> a -&gt; <A HREF="Text-ParserCombinators-ReadPrec.html#t%3AReadPrec"
>ReadPrec</A
> a</TD
></TR
><TR
><TD CLASS="doc"
><TT
>(parens p)</TT
> parses &quot;P&quot;, &quot;(P0)&quot;, &quot;((P0))&quot;, etc, 
      where <TT
>p</TT
> parses &quot;P&quot;  in the current precedence context
          and parses &quot;P0&quot; in precedence context zero
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readListDefault"
><A NAME="v%3AreadListDefault"
></A
></A
><B
>readListDefault</B
> :: <A HREF="Text-Read.html#t%3ARead"
>Read</A
> a =&gt; <A HREF="Text-Read.html#t%3AReadS"
>ReadS</A
> [a]</TD
></TR
><TR
><TD CLASS="doc"
>A possible replacement definition for the <TT
><A HREF="Text-Read.html#v%3AreadList"
>readList</A
></TT
> method (GHC only).
   This is only needed for GHC, and even then only for <TT
><A HREF="Text-Read.html#t%3ARead"
>Read</A
></TT
> instances
   where <TT
><A HREF="Text-Read.html#v%3AreadListPrec"
>readListPrec</A
></TT
> isn't defined as <TT
><A HREF="Text-Read.html#v%3AreadListPrecDefault"
>readListPrecDefault</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readListPrecDefault"
><A NAME="v%3AreadListPrecDefault"
></A
></A
><B
>readListPrecDefault</B
> :: <A HREF="Text-Read.html#t%3ARead"
>Read</A
> a =&gt; <A HREF="Text-ParserCombinators-ReadPrec.html#t%3AReadPrec"
>ReadPrec</A
> [a]</TD
></TR
><TR
><TD CLASS="doc"
>A possible replacement definition for the <TT
><A HREF="Text-Read.html#v%3AreadListPrec"
>readListPrec</A
></TT
> method,
   defined using <TT
><A HREF="Text-Read.html#v%3AreadPrec"
>readPrec</A
></TT
> (GHC only).
</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
>