Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 97a84b09736c9f6da17a3071b86ce47d > files > 62

ghc-haskell-src-exts-devel-1.10.2-1.fc15.i686.rpm

<!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>Language.Haskell.Exts.Parser</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_Language-Haskell-Exts-Parser.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Language-Haskell-Exts-Parser.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">haskell-src-exts-1.10.2: Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer</p></div><div id="content"><div id="module-header"><p class="caption">Language.Haskell.Exts.Parser</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">General parsing
</a></li><li><a href="#g:2">Parsing of specific AST elements
</a><ul><li><a href="#g:3">Modules
</a></li><li><a href="#g:4">Expressions
</a></li><li><a href="#g:5">Statements
</a></li><li><a href="#g:6">Patterns
</a></li><li><a href="#g:7">Declarations
</a></li><li><a href="#g:8">Types
</a></li><li><a href="#g:9">Option pragmas
</a></li></ul></li></ul></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">class</span>  <a href="#t:Parseable">Parseable</a> ast  <span class="keyword">where</span><ul class="subs"><li><a href="#v:parse">parse</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> ast</li><li><a href="#v:parseWithMode">parseWithMode</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> ast</li><li><a href="#v:parseWithComments">parseWithComments</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> (ast, [<a href="Language-Haskell-Exts-Comments.html#t:Comment">Comment</a>])</li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:ParseMode">ParseMode</a>  = <a href="#v:ParseMode">ParseMode</a> {<ul class="subs"><li><a href="#v:parseFilename">parseFilename</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></li><li><a href="#v:extensions">extensions</a> :: [<a href="Language-Haskell-Exts-Extension.html#t:Extension">Extension</a>]</li><li><a href="#v:ignoreLanguagePragmas">ignoreLanguagePragmas</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:ignoreLinePragmas">ignoreLinePragmas</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:fixities">fixities</a> :: [<a href="Language-Haskell-Exts-Fixity.html#t:Fixity">Fixity</a>]</li></ul>}</li><li class="src short"><a href="#v:defaultParseMode">defaultParseMode</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:ParseResult">ParseResult</a> a<ul class="subs"><li>= <a href="#v:ParseOk">ParseOk</a> a  </li><li>| <a href="#v:ParseFailed">ParseFailed</a> <a href="Language-Haskell-Exts-SrcLoc.html#t:SrcLoc">SrcLoc</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>  </li></ul></li><li class="src short"><a href="#v:fromParseResult">fromParseResult</a> ::  <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> a -&gt; a</li><li class="src short"><a href="#v:parseModule">parseModule</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Module">Module</a></li><li class="src short"><a href="#v:parseModuleWithMode">parseModuleWithMode</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Module">Module</a></li><li class="src short"><a href="#v:parseModuleWithComments">parseModuleWithComments</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> (<a href="Language-Haskell-Exts-Syntax.html#t:Module">Module</a>, [<a href="Language-Haskell-Exts-Comments.html#t:Comment">Comment</a>])</li><li class="src short"><a href="#v:parseExp">parseExp</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Exp">Exp</a></li><li class="src short"><a href="#v:parseExpWithMode">parseExpWithMode</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Exp">Exp</a></li><li class="src short"><a href="#v:parseExpWithComments">parseExpWithComments</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> (<a href="Language-Haskell-Exts-Syntax.html#t:Exp">Exp</a>, [<a href="Language-Haskell-Exts-Comments.html#t:Comment">Comment</a>])</li><li class="src short"><a href="#v:parseStmt">parseStmt</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Stmt">Stmt</a></li><li class="src short"><a href="#v:parseStmtWithMode">parseStmtWithMode</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Stmt">Stmt</a></li><li class="src short"><a href="#v:parseStmtWithComments">parseStmtWithComments</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> (<a href="Language-Haskell-Exts-Syntax.html#t:Stmt">Stmt</a>, [<a href="Language-Haskell-Exts-Comments.html#t:Comment">Comment</a>])</li><li class="src short"><a href="#v:parsePat">parsePat</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Pat">Pat</a></li><li class="src short"><a href="#v:parsePatWithMode">parsePatWithMode</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Pat">Pat</a></li><li class="src short"><a href="#v:parsePatWithComments">parsePatWithComments</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> (<a href="Language-Haskell-Exts-Syntax.html#t:Pat">Pat</a>, [<a href="Language-Haskell-Exts-Comments.html#t:Comment">Comment</a>])</li><li class="src short"><a href="#v:parseDecl">parseDecl</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Decl">Decl</a></li><li class="src short"><a href="#v:parseDeclWithMode">parseDeclWithMode</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Decl">Decl</a></li><li class="src short"><a href="#v:parseDeclWithComments">parseDeclWithComments</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> (<a href="Language-Haskell-Exts-Syntax.html#t:Decl">Decl</a>, [<a href="Language-Haskell-Exts-Comments.html#t:Comment">Comment</a>])</li><li class="src short"><a href="#v:parseType">parseType</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Type">Type</a></li><li class="src short"><a href="#v:parseTypeWithMode">parseTypeWithMode</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Type">Type</a></li><li class="src short"><a href="#v:parseTypeWithComments">parseTypeWithComments</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> (<a href="Language-Haskell-Exts-Syntax.html#t:Type">Type</a>, [<a href="Language-Haskell-Exts-Comments.html#t:Comment">Comment</a>])</li><li class="src short"><a href="#v:getTopPragmas">getTopPragmas</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> [<a href="Language-Haskell-Exts-Syntax.html#t:ModulePragma">ModulePragma</a>]</li></ul></div><div id="interface"><h1 id="g:1">General parsing
</h1><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:Parseable" class="def">Parseable</a> ast  <span class="keyword">where</span><a href="src/Language-Haskell-Exts-Parser.html#Parseable" class="link">Source</a></p><div class="doc"><p>Class to reuse the parse function at many different types.
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:parse" class="def">parse</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> ast<a href="src/Language-Haskell-Exts-Parser.html#parse" class="link">Source</a></p><div class="doc"><p>Parse a string with default mode.
</p></div><p class="src"><a name="v:parseWithMode" class="def">parseWithMode</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> ast<a href="src/Language-Haskell-Exts-Parser.html#parseWithMode" class="link">Source</a></p><div class="doc"><p>Parse a string with an explicit mode.
</p></div><p class="src"><a name="v:parseWithComments" class="def">parseWithComments</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> (ast, [<a href="Language-Haskell-Exts-Comments.html#t:Comment">Comment</a>])<a href="src/Language-Haskell-Exts-Parser.html#parseWithComments" class="link">Source</a></p><div class="doc"><p>Parse a string with an explicit mode, returning all comments along the AST
</p></div></div><div class="subs instances"><p id="control.i:Parseable" class="caption collapser" onclick="toggleSection('i:Parseable')">Instances</p><div id="section.i:Parseable" class="show"><table><tr><td class="src"><a href="Language-Haskell-Exts-Parser.html#t:Parseable">Parseable</a> <a href="Language-Haskell-Exts-Syntax.html#t:Pat">Pat</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Language-Haskell-Exts-Parser.html#t:Parseable">Parseable</a> <a href="Language-Haskell-Exts-Syntax.html#t:Exp">Exp</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Language-Haskell-Exts-Parser.html#t:Parseable">Parseable</a> <a href="Language-Haskell-Exts-Syntax.html#t:Type">Type</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Language-Haskell-Exts-Parser.html#t:Parseable">Parseable</a> <a href="Language-Haskell-Exts-Syntax.html#t:Decl">Decl</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Language-Haskell-Exts-Parser.html#t:Parseable">Parseable</a> <a href="Language-Haskell-Exts-Syntax.html#t:Module">Module</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Language-Haskell-Exts-SrcLoc.html#t:SrcInfo">SrcInfo</a> loc =&gt; <a href="Language-Haskell-Exts-Parser.html#t:Parseable">Parseable</a> (<a href="Language-Haskell-Exts-Annotated-Syntax.html#t:Stmt">Stmt</a> loc)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Language-Haskell-Exts-SrcLoc.html#t:SrcInfo">SrcInfo</a> loc =&gt; <a href="Language-Haskell-Exts-Parser.html#t:Parseable">Parseable</a> (<a href="Language-Haskell-Exts-Annotated-Syntax.html#t:Pat">Pat</a> loc)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Language-Haskell-Exts-SrcLoc.html#t:SrcInfo">SrcInfo</a> loc =&gt; <a href="Language-Haskell-Exts-Parser.html#t:Parseable">Parseable</a> (<a href="Language-Haskell-Exts-Annotated-Syntax.html#t:Exp">Exp</a> loc)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Language-Haskell-Exts-SrcLoc.html#t:SrcInfo">SrcInfo</a> loc =&gt; <a href="Language-Haskell-Exts-Parser.html#t:Parseable">Parseable</a> (<a href="Language-Haskell-Exts-Annotated-Syntax.html#t:Type">Type</a> loc)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Language-Haskell-Exts-SrcLoc.html#t:SrcInfo">SrcInfo</a> loc =&gt; <a href="Language-Haskell-Exts-Parser.html#t:Parseable">Parseable</a> (<a href="Language-Haskell-Exts-Annotated-Syntax.html#t:Decl">Decl</a> loc)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Language-Haskell-Exts-SrcLoc.html#t:SrcInfo">SrcInfo</a> loc =&gt; <a href="Language-Haskell-Exts-Parser.html#t:Parseable">Parseable</a> (<a href="Language-Haskell-Exts-Annotated-Syntax.html#t:Module">Module</a> loc)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ParseMode" class="def">ParseMode</a>  <a href="src/Language-Haskell-Exts-ParseMonad.html#ParseMode" class="link">Source</a></p><div class="doc"><p>Static parameters governing a parse.
   Note that the various parse functions in <a href="Language-Haskell-Exts-Parser.html">Language.Haskell.Exts.Parser</a>
   never look at LANGUAGE pragmas, regardless of
   what the <code>ignoreLanguagePragmas</code> flag is set to.
   Only the various <code>parseFile</code> functions in <a href="Language-Haskell-Exts.html">Language.Haskell.Exts</a> will
   act on it, when set to <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#v:False">False</a></code>.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ParseMode" class="def">ParseMode</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:parseFilename" class="def">parseFilename</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></dt><dd class="doc"><p>original name of the file being parsed
</p></dd><dt class="src"><a name="v:extensions" class="def">extensions</a> :: [<a href="Language-Haskell-Exts-Extension.html#t:Extension">Extension</a>]</dt><dd class="doc"><p>list of extensions enabled for parsing
</p></dd><dt class="src"><a name="v:ignoreLanguagePragmas" class="def">ignoreLanguagePragmas</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc"><p>if <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#v:True">True</a></code>, the parser won't care about further extensions
   in LANGUAGE pragmas in source files
</p></dd><dt class="src"><a name="v:ignoreLinePragmas" class="def">ignoreLinePragmas</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc"><p>if <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#v:True">True</a></code>, the parser won't read line position information
   from LINE pragmas in source files
</p></dd><dt class="src"><a name="v:fixities" class="def">fixities</a> :: [<a href="Language-Haskell-Exts-Fixity.html#t:Fixity">Fixity</a>]</dt><dd class="doc"><p>list of fixities to be aware of
</p></dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><a name="v:defaultParseMode" class="def">defaultParseMode</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a><a href="src/Language-Haskell-Exts-ParseMonad.html#defaultParseMode" class="link">Source</a></p><div class="doc"><p>Default parameters for a parse.
   The default is an unknown filename,
   no extensions (i.e. Haskell 98),
   don't ignore LANGUAGE pragmas, do ignore LINE pragmas,
   and be aware of fixities from the <code>Prelude</code>.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ParseResult" class="def">ParseResult</a> a <a href="src/Language-Haskell-Exts-ParseMonad.html#ParseResult" class="link">Source</a></p><div class="doc"><p>The result of a parse.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ParseOk" class="def">ParseOk</a> a</td><td class="doc"><p>The parse succeeded, yielding a value.
</p></td></tr><tr><td class="src"><a name="v:ParseFailed" class="def">ParseFailed</a> <a href="Language-Haskell-Exts-SrcLoc.html#t:SrcLoc">SrcLoc</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></td><td class="doc"><p>The parse failed at the specified
 source location, with an error message.
</p></td></tr></table></div><div class="subs instances"><p id="control.i:ParseResult" class="caption collapser" onclick="toggleSection('i:ParseResult')">Instances</p><div id="section.i:ParseResult" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Monad.html#t:Monad">Monad</a> <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Monad.html#t:Functor">Functor</a> <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Applicative.html#t:Applicative">Applicative</a> <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> a =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> (<a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Monoid.html#t:Monoid">Monoid</a> m =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Monoid.html#t:Monoid">Monoid</a> (<a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> m)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:fromParseResult" class="def">fromParseResult</a> ::  <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> a -&gt; a<a href="src/Language-Haskell-Exts-ParseMonad.html#fromParseResult" class="link">Source</a></p><div class="doc"><p>Retrieve the result of a successful parse, throwing an
   error if the parse is actually not successful.
</p></div></div><h1 id="g:2">Parsing of specific AST elements
</h1><h2 id="g:3">Modules
</h2><div class="top"><p class="src"><a name="v:parseModule" class="def">parseModule</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Module">Module</a><a href="src/Language-Haskell-Exts-Parser.html#parseModule" class="link">Source</a></p><div class="doc"><p>Parse of a string, which should contain a complete Haskell module.
</p></div></div><div class="top"><p class="src"><a name="v:parseModuleWithMode" class="def">parseModuleWithMode</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Module">Module</a><a href="src/Language-Haskell-Exts-Parser.html#parseModuleWithMode" class="link">Source</a></p><div class="doc"><p>Parse of a string containing a complete Haskell module, using an explicit mode.
</p></div></div><div class="top"><p class="src"><a name="v:parseModuleWithComments" class="def">parseModuleWithComments</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> (<a href="Language-Haskell-Exts-Syntax.html#t:Module">Module</a>, [<a href="Language-Haskell-Exts-Comments.html#t:Comment">Comment</a>])<a href="src/Language-Haskell-Exts-Parser.html#parseModuleWithComments" class="link">Source</a></p><div class="doc"><p>Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.
</p></div></div><h2 id="g:4">Expressions
</h2><div class="top"><p class="src"><a name="v:parseExp" class="def">parseExp</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Exp">Exp</a><a href="src/Language-Haskell-Exts-Parser.html#parseExp" class="link">Source</a></p><div class="doc"><p>Parse of a string containing a Haskell expression.
</p></div></div><div class="top"><p class="src"><a name="v:parseExpWithMode" class="def">parseExpWithMode</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Exp">Exp</a><a href="src/Language-Haskell-Exts-Parser.html#parseExpWithMode" class="link">Source</a></p><div class="doc"><p>Parse of a string containing a Haskell expression, using an explicit mode.
</p></div></div><div class="top"><p class="src"><a name="v:parseExpWithComments" class="def">parseExpWithComments</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> (<a href="Language-Haskell-Exts-Syntax.html#t:Exp">Exp</a>, [<a href="Language-Haskell-Exts-Comments.html#t:Comment">Comment</a>])<a href="src/Language-Haskell-Exts-Parser.html#parseExpWithComments" class="link">Source</a></p><div class="doc"><p>Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.
</p></div></div><h2 id="g:5">Statements
</h2><div class="top"><p class="src"><a name="v:parseStmt" class="def">parseStmt</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Stmt">Stmt</a><a href="src/Language-Haskell-Exts-Parser.html#parseStmt" class="link">Source</a></p><div class="doc"><p>Parse of a string containing a Haskell type.
</p></div></div><div class="top"><p class="src"><a name="v:parseStmtWithMode" class="def">parseStmtWithMode</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Stmt">Stmt</a><a href="src/Language-Haskell-Exts-Parser.html#parseStmtWithMode" class="link">Source</a></p><div class="doc"><p>Parse of a string containing a Haskell type, using an explicit mode.
</p></div></div><div class="top"><p class="src"><a name="v:parseStmtWithComments" class="def">parseStmtWithComments</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> (<a href="Language-Haskell-Exts-Syntax.html#t:Stmt">Stmt</a>, [<a href="Language-Haskell-Exts-Comments.html#t:Comment">Comment</a>])<a href="src/Language-Haskell-Exts-Parser.html#parseStmtWithComments" class="link">Source</a></p><div class="doc"><p>Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.
</p></div></div><h2 id="g:6">Patterns
</h2><div class="top"><p class="src"><a name="v:parsePat" class="def">parsePat</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Pat">Pat</a><a href="src/Language-Haskell-Exts-Parser.html#parsePat" class="link">Source</a></p><div class="doc"><p>Parse of a string containing a Haskell pattern.
</p></div></div><div class="top"><p class="src"><a name="v:parsePatWithMode" class="def">parsePatWithMode</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Pat">Pat</a><a href="src/Language-Haskell-Exts-Parser.html#parsePatWithMode" class="link">Source</a></p><div class="doc"><p>Parse of a string containing a Haskell pattern, using an explicit mode.
</p></div></div><div class="top"><p class="src"><a name="v:parsePatWithComments" class="def">parsePatWithComments</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> (<a href="Language-Haskell-Exts-Syntax.html#t:Pat">Pat</a>, [<a href="Language-Haskell-Exts-Comments.html#t:Comment">Comment</a>])<a href="src/Language-Haskell-Exts-Parser.html#parsePatWithComments" class="link">Source</a></p><div class="doc"><p>Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.
</p></div></div><h2 id="g:7">Declarations
</h2><div class="top"><p class="src"><a name="v:parseDecl" class="def">parseDecl</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Decl">Decl</a><a href="src/Language-Haskell-Exts-Parser.html#parseDecl" class="link">Source</a></p><div class="doc"><p>Parse of a string containing a Haskell top-level declaration.
</p></div></div><div class="top"><p class="src"><a name="v:parseDeclWithMode" class="def">parseDeclWithMode</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Decl">Decl</a><a href="src/Language-Haskell-Exts-Parser.html#parseDeclWithMode" class="link">Source</a></p><div class="doc"><p>Parse of a string containing a Haskell top-level declaration, using an explicit mode.
</p></div></div><div class="top"><p class="src"><a name="v:parseDeclWithComments" class="def">parseDeclWithComments</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> (<a href="Language-Haskell-Exts-Syntax.html#t:Decl">Decl</a>, [<a href="Language-Haskell-Exts-Comments.html#t:Comment">Comment</a>])<a href="src/Language-Haskell-Exts-Parser.html#parseDeclWithComments" class="link">Source</a></p><div class="doc"><p>Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.
</p></div></div><h2 id="g:8">Types
</h2><div class="top"><p class="src"><a name="v:parseType" class="def">parseType</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Type">Type</a><a href="src/Language-Haskell-Exts-Parser.html#parseType" class="link">Source</a></p><div class="doc"><p>Parse of a string containing a Haskell type.
</p></div></div><div class="top"><p class="src"><a name="v:parseTypeWithMode" class="def">parseTypeWithMode</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> <a href="Language-Haskell-Exts-Syntax.html#t:Type">Type</a><a href="src/Language-Haskell-Exts-Parser.html#parseTypeWithMode" class="link">Source</a></p><div class="doc"><p>Parse of a string containing a Haskell type, using an explicit mode.
</p></div></div><div class="top"><p class="src"><a name="v:parseTypeWithComments" class="def">parseTypeWithComments</a> :: <a href="Language-Haskell-Exts-Parser.html#t:ParseMode">ParseMode</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> (<a href="Language-Haskell-Exts-Syntax.html#t:Type">Type</a>, [<a href="Language-Haskell-Exts-Comments.html#t:Comment">Comment</a>])<a href="src/Language-Haskell-Exts-Parser.html#parseTypeWithComments" class="link">Source</a></p><div class="doc"><p>Parse of a string containing a complete Haskell module, using an explicit mode, retaining comments.
</p></div></div><h2 id="g:9">Option pragmas
</h2><div class="top"><p class="src"><a name="v:getTopPragmas" class="def">getTopPragmas</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="Language-Haskell-Exts-Parser.html#t:ParseResult">ParseResult</a> [<a href="Language-Haskell-Exts-Syntax.html#t:ModulePragma">ModulePragma</a>]<a href="src/Language-Haskell-Exts-Parser.html#getTopPragmas" class="link">Source</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>