<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Text.Read.Lex</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[ window.onload = function () {pageLoad();setSynopsis("mini_Text-Read-Lex.html");}; //]]> </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">base-4.5.1.0: Basic libraries</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>non-portable (uses Text.ParserCombinators.ReadP)</td></tr><tr><th>Stability</th><td>provisional</td></tr><tr><th>Maintainer</th><td>libraries@haskell.org</td></tr><tr><th>Safe Haskell</th><td>Trustworthy</td></tr></table><p class="caption">Text.Read.Lex</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>The cut-down Haskell lexer, used by Text.Read </p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:Lexeme">Lexeme</a> <ul class="subs"><li>= <a href="#v:Char">Char</a> <a href="Data-Char.html#t:Char">Char</a> </li><li>| <a href="#v:String">String</a> <a href="Data-String.html#t:String">String</a> </li><li>| <a href="#v:Punc">Punc</a> <a href="Data-String.html#t:String">String</a> </li><li>| <a href="#v:Ident">Ident</a> <a href="Data-String.html#t:String">String</a> </li><li>| <a href="#v:Symbol">Symbol</a> <a href="Data-String.html#t:String">String</a> </li><li>| <a href="#v:Int">Int</a> <a href="Prelude.html#t:Integer">Integer</a> </li><li>| <a href="#v:Rat">Rat</a> <a href="Prelude.html#t:Rational">Rational</a> </li><li>| <a href="#v:EOF">EOF</a> </li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:Lexeme-39-">Lexeme'</a> <ul class="subs"><li>= <a href="#v:Ident-39-">Ident'</a> <a href="Data-String.html#t:String">String</a> </li><li>| <a href="#v:Punc-39-">Punc'</a> <a href="Data-String.html#t:String">String</a> </li><li>| <a href="#v:Symbol-39-">Symbol'</a> <a href="Data-String.html#t:String">String</a> </li><li>| <a href="#v:Number">Number</a> Number </li></ul></li><li class="src short"><a href="#v:numberToInteger">numberToInteger</a> :: Number -> <a href="Data-Maybe.html#t:Maybe">Maybe</a> <a href="Prelude.html#t:Integer">Integer</a></li><li class="src short"><a href="#v:numberToRangedRational">numberToRangedRational</a> :: (<a href="Data-Int.html#t:Int">Int</a>, <a href="Data-Int.html#t:Int">Int</a>) -> Number -> <a href="Data-Maybe.html#t:Maybe">Maybe</a> <a href="Prelude.html#t:Rational">Rational</a></li><li class="src short"><a href="#v:lex">lex</a> :: <a href="Text-ParserCombinators-ReadP.html#t:ReadP">ReadP</a> <a href="Text-Read-Lex.html#t:Lexeme">Lexeme</a></li><li class="src short"><a href="#v:lex-39-">lex'</a> :: <a href="Text-ParserCombinators-ReadP.html#t:ReadP">ReadP</a> <a href="Text-Read-Lex.html#t:Lexeme-39-">Lexeme'</a></li><li class="src short"><a href="#v:hsLex">hsLex</a> :: <a href="Text-ParserCombinators-ReadP.html#t:ReadP">ReadP</a> <a href="Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:lexChar">lexChar</a> :: <a href="Text-ParserCombinators-ReadP.html#t:ReadP">ReadP</a> <a href="Data-Char.html#t:Char">Char</a></li><li class="src short"><a href="#v:readIntP">readIntP</a> :: <a href="Prelude.html#t:Num">Num</a> a => a -> (<a href="Data-Char.html#t:Char">Char</a> -> <a href="Data-Bool.html#t:Bool">Bool</a>) -> (<a href="Data-Char.html#t:Char">Char</a> -> <a href="Data-Int.html#t:Int">Int</a>) -> <a href="Text-ParserCombinators-ReadP.html#t:ReadP">ReadP</a> a</li><li class="src short"><a href="#v:readOctP">readOctP</a> :: (<a href="Data-Eq.html#t:Eq">Eq</a> a, <a href="Prelude.html#t:Num">Num</a> a) => <a href="Text-ParserCombinators-ReadP.html#t:ReadP">ReadP</a> a</li><li class="src short"><a href="#v:readDecP">readDecP</a> :: (<a href="Data-Eq.html#t:Eq">Eq</a> a, <a href="Prelude.html#t:Num">Num</a> a) => <a href="Text-ParserCombinators-ReadP.html#t:ReadP">ReadP</a> a</li><li class="src short"><a href="#v:readHexP">readHexP</a> :: (<a href="Data-Eq.html#t:Eq">Eq</a> a, <a href="Prelude.html#t:Num">Num</a> a) => <a href="Text-ParserCombinators-ReadP.html#t:ReadP">ReadP</a> a</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Lexeme" class="def">Lexeme</a> </p><div class="doc"><p>Haskell lexemes. </p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Char" class="def">Char</a> <a href="Data-Char.html#t:Char">Char</a></td><td class="doc"><p>Character literal </p></td></tr><tr><td class="src"><a name="v:String" class="def">String</a> <a href="Data-String.html#t:String">String</a></td><td class="doc"><p>String literal, with escapes interpreted </p></td></tr><tr><td class="src"><a name="v:Punc" class="def">Punc</a> <a href="Data-String.html#t:String">String</a></td><td class="doc"><p>Punctuation or reserved symbol, e.g. <code>(</code>, <code>::</code> </p></td></tr><tr><td class="src"><a name="v:Ident" class="def">Ident</a> <a href="Data-String.html#t:String">String</a></td><td class="doc"><p>Haskell identifier, e.g. <code>foo</code>, <code>Baz</code> </p></td></tr><tr><td class="src"><a name="v:Symbol" class="def">Symbol</a> <a href="Data-String.html#t:String">String</a></td><td class="doc"><p>Haskell symbol, e.g. <code>>></code>, <code>:%</code> </p></td></tr><tr><td class="src"><a name="v:Int" class="def">Int</a> <a href="Prelude.html#t:Integer">Integer</a></td><td class="doc"><p>Integer literal </p></td></tr><tr><td class="src"><a name="v:Rat" class="def">Rat</a> <a href="Prelude.html#t:Rational">Rational</a></td><td class="doc"><p>Floating point literal </p></td></tr><tr><td class="src"><a name="v:EOF" class="def">EOF</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Lexeme" class="caption collapser" onclick="toggleSection('i:Lexeme')">Instances</p><div id="section.i:Lexeme" class="show"><table><tr><td class="src"><a href="Data-Eq.html#t:Eq">Eq</a> <a href="Text-Read-Lex.html#t:Lexeme">Lexeme</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Text-Read.html#t:Read">Read</a> <a href="Text-Read-Lex.html#t:Lexeme">Lexeme</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Text-Show.html#t:Show">Show</a> <a href="Text-Read-Lex.html#t:Lexeme">Lexeme</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Lexeme-39-" class="def">Lexeme'</a> </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Ident-39-" class="def">Ident'</a> <a href="Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Punc-39-" class="def">Punc'</a> <a href="Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Symbol-39-" class="def">Symbol'</a> <a href="Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Number" class="def">Number</a> Number</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Lexeme-39-" class="caption collapser" onclick="toggleSection('i:Lexeme-39-')">Instances</p><div id="section.i:Lexeme-39-" class="show"><table><tr><td class="src"><a href="Data-Eq.html#t:Eq">Eq</a> <a href="Text-Read-Lex.html#t:Lexeme-39-">Lexeme'</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Text-Show.html#t:Show">Show</a> <a href="Text-Read-Lex.html#t:Lexeme-39-">Lexeme'</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:numberToInteger" class="def">numberToInteger</a> :: Number -> <a href="Data-Maybe.html#t:Maybe">Maybe</a> <a href="Prelude.html#t:Integer">Integer</a></p></div><div class="top"><p class="src"><a name="v:numberToRangedRational" class="def">numberToRangedRational</a> :: (<a href="Data-Int.html#t:Int">Int</a>, <a href="Data-Int.html#t:Int">Int</a>) -> Number -> <a href="Data-Maybe.html#t:Maybe">Maybe</a> <a href="Prelude.html#t:Rational">Rational</a></p></div><div class="top"><p class="src"><a name="v:lex" class="def">lex</a> :: <a href="Text-ParserCombinators-ReadP.html#t:ReadP">ReadP</a> <a href="Text-Read-Lex.html#t:Lexeme">Lexeme</a></p></div><div class="top"><p class="src"><a name="v:lex-39-" class="def">lex'</a> :: <a href="Text-ParserCombinators-ReadP.html#t:ReadP">ReadP</a> <a href="Text-Read-Lex.html#t:Lexeme-39-">Lexeme'</a></p></div><div class="top"><p class="src"><a name="v:hsLex" class="def">hsLex</a> :: <a href="Text-ParserCombinators-ReadP.html#t:ReadP">ReadP</a> <a href="Data-String.html#t:String">String</a></p><div class="doc"><p>Haskell lexer: returns the lexed string, rather than the lexeme </p></div></div><div class="top"><p class="src"><a name="v:lexChar" class="def">lexChar</a> :: <a href="Text-ParserCombinators-ReadP.html#t:ReadP">ReadP</a> <a href="Data-Char.html#t:Char">Char</a></p></div><div class="top"><p class="src"><a name="v:readIntP" class="def">readIntP</a> :: <a href="Prelude.html#t:Num">Num</a> a => a -> (<a href="Data-Char.html#t:Char">Char</a> -> <a href="Data-Bool.html#t:Bool">Bool</a>) -> (<a href="Data-Char.html#t:Char">Char</a> -> <a href="Data-Int.html#t:Int">Int</a>) -> <a href="Text-ParserCombinators-ReadP.html#t:ReadP">ReadP</a> a</p></div><div class="top"><p class="src"><a name="v:readOctP" class="def">readOctP</a> :: (<a href="Data-Eq.html#t:Eq">Eq</a> a, <a href="Prelude.html#t:Num">Num</a> a) => <a href="Text-ParserCombinators-ReadP.html#t:ReadP">ReadP</a> a</p></div><div class="top"><p class="src"><a name="v:readDecP" class="def">readDecP</a> :: (<a href="Data-Eq.html#t:Eq">Eq</a> a, <a href="Prelude.html#t:Num">Num</a> a) => <a href="Text-ParserCombinators-ReadP.html#t:ReadP">ReadP</a> a</p></div><div class="top"><p class="src"><a name="v:readHexP" class="def">readHexP</a> :: (<a href="Data-Eq.html#t:Eq">Eq</a> a, <a href="Prelude.html#t:Num">Num</a> a) => <a href="Text-ParserCombinators-ReadP.html#t:ReadP">ReadP</a> a</p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.11.0</p></div></body></html>