<!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 >Distribution.ParseUtils</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_Distribution-ParseUtils.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" >Cabal-1.6.0.3: A framework for packaging Haskell software</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" >Distribution.ParseUtils</FONT ></TD ><TD ALIGN="right" ><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="infohead" >Portability</TD ><TD CLASS="infoval" >portable</TD ></TR ><TR ><TD CLASS="infohead" >Maintainer</TD ><TD CLASS="infoval" >cabal-devel@haskell.org</TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Description</TD ></TR ><TR ><TD CLASS="doc" ><P >Utilities for parsing PackageDescription and InstalledPackageInfo. </P ><P >The <TT >.cabal</TT > file format is not trivial, especially with the introduction of configurations and the section syntax that goes with that. This module has a bunch of parsing functions that is used by the <TT >.cabal</TT > parser and a couple others. It has the parsing framework code and also little parsers for many of the formats we get in various <TT >.cabal</TT > file fields, like module names, comma separated lists etc. </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" >type</SPAN > <A HREF="#t%3ALineNo" >LineNo</A > = <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</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%3APError" >PError</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3AAmbigousParse" >AmbigousParse</A > <A HREF="../base/Data-Char.html#t%3AString" >String</A > <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ANoParse" >NoParse</A > <A HREF="../base/Data-Char.html#t%3AString" >String</A > <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ATabsError" >TabsError</A > <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AFromString" >FromString</A > <A HREF="../base/Data-Char.html#t%3AString" >String</A > (<A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A >)</TD ></TR ></TABLE ></TD ></TR ></TABLE ></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%3APWarning" >PWarning</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3APWarning" >PWarning</A > <A HREF="../base/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AUTFWarning" >UTFWarning</A > <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A > <A HREF="../base/Data-Char.html#t%3AString" >String</A ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AlocatedErrorMsg" >locatedErrorMsg</A > :: <A HREF="Distribution-ParseUtils.html#t%3APError" >PError</A > -> (<A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A >, <A HREF="../base/Data-Char.html#t%3AString" >String</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsyntaxError" >syntaxError</A > :: <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A > -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Awarning" >warning</A > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ArunP" >runP</A > :: <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A > -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > a a -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ArunE" >runE</A > :: <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A > -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Distribution-ReadE.html#t%3AReadE" >ReadE</A > a -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > 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%3AParseResult" >ParseResult</A > a </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3AParseFailed" >ParseFailed</A > <A HREF="Distribution-ParseUtils.html#t%3APError" >PError</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AParseOk" >ParseOk</A > [<A HREF="Distribution-ParseUtils.html#t%3APWarning" >PWarning</A >] a</TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcatchParseError" >catchParseError</A > :: <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > a -> (<A HREF="Distribution-ParseUtils.html#t%3APError" >PError</A > -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > a) -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseFail" >parseFail</A > :: <A HREF="Distribution-ParseUtils.html#t%3APError" >PError</A > -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AshowPWarning" >showPWarning</A > :: <A HREF="../base/System-IO.html#t%3AFilePath" >FilePath</A > -> <A HREF="Distribution-ParseUtils.html#t%3APWarning" >PWarning</A > -> <A HREF="../base/Data-Char.html#t%3AString" >String</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%3AField" >Field</A > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3AF" >F</A > <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A > <A HREF="../base/Data-Char.html#t%3AString" >String</A > <A HREF="../base/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ASection" >Section</A > <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A > <A HREF="../base/Data-Char.html#t%3AString" >String</A > <A HREF="../base/Data-Char.html#t%3AString" >String</A > [<A HREF="Distribution-ParseUtils.html#t%3AField" >Field</A >]</TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AIfBlock" >IfBlock</A > <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A > <A HREF="../base/Data-Char.html#t%3AString" >String</A > [<A HREF="Distribution-ParseUtils.html#t%3AField" >Field</A >] [<A HREF="Distribution-ParseUtils.html#t%3AField" >Field</A >]</TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfName" >fName</A > :: <A HREF="Distribution-ParseUtils.html#t%3AField" >Field</A > -> <A HREF="../base/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AlineNo" >lineNo</A > :: <A HREF="Distribution-ParseUtils.html#t%3AField" >Field</A > -> <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AFieldDescr" >FieldDescr</A > a = <A HREF="#v%3AFieldDescr" >FieldDescr</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3AfieldName" >fieldName</A > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AfieldGet" >fieldGet</A > :: a -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AfieldSet" >fieldSet</A > :: <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A > -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> a -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > a</TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AppField" >ppField</A > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A > -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AppFields" >ppFields</A > :: [<A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > a] -> a -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AreadFields" >readFields</A > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > [<A HREF="Distribution-ParseUtils.html#t%3AField" >Field</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AshowFields" >showFields</A > :: [<A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > a] -> a -> <A HREF="../base/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AshowSingleNamedField" >showSingleNamedField</A > :: [<A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > a] -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > (a -> <A HREF="../base/Data-Char.html#t%3AString" >String</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseFields" >parseFields</A > :: [<A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > a] -> a -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseFilePathQ" >parseFilePathQ</A > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="../base/System-IO.html#t%3AFilePath" >FilePath</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseTokenQ" >parseTokenQ</A > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="../base/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseTokenQ%27" >parseTokenQ'</A > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="../base/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseModuleNameQ" >parseModuleNameQ</A > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="Distribution-ModuleName.html#t%3AModuleName" >ModuleName</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseBuildTool" >parseBuildTool</A > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="Distribution-Package.html#t%3ADependency" >Dependency</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparsePkgconfigDependency" >parsePkgconfigDependency</A > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="Distribution-Package.html#t%3ADependency" >Dependency</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseOptVersion" >parseOptVersion</A > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="../base/Data-Version.html#t%3AVersion" >Version</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparsePackageNameQ" >parsePackageNameQ</A > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="Distribution-Package.html#t%3APackageName" >PackageName</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseVersionRangeQ" >parseVersionRangeQ</A > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="Distribution-Version.html#t%3AVersionRange" >VersionRange</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseTestedWithQ" >parseTestedWithQ</A > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r (<A HREF="Distribution-Compiler.html#t%3ACompilerFlavor" >CompilerFlavor</A >, <A HREF="Distribution-Version.html#t%3AVersionRange" >VersionRange</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseLicenseQ" >parseLicenseQ</A > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="Distribution-License.html#t%3ALicense" >License</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseExtensionQ" >parseExtensionQ</A > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="Language-Haskell-Extension.html#t%3AExtension" >Extension</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseSepList" >parseSepList</A > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r b -> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r a -> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r [a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseCommaList" >parseCommaList</A > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r a -> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r [a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseOptCommaList" >parseOptCommaList</A > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r a -> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r [a]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AshowFilePath" >showFilePath</A > :: <A HREF="../base/System-IO.html#t%3AFilePath" >FilePath</A > -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AshowToken" >showToken</A > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AshowTestedWith" >showTestedWith</A > :: (<A HREF="Distribution-Compiler.html#t%3ACompilerFlavor" >CompilerFlavor</A >, <A HREF="Distribution-Version.html#t%3AVersionRange" >VersionRange</A >) -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AshowFreeText" >showFreeText</A > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseFreeText" >parseFreeText</A > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > s <A HREF="../base/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Afield" >field</A > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> (a -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A >) -> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > a a -> <A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsimpleField" >simpleField</A > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> (a -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A >) -> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > a a -> (b -> a) -> (a -> b -> b) -> <A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AlistField" >listField</A > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> (a -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A >) -> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > [a] a -> (b -> [a]) -> ([a] -> b -> b) -> <A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AspaceListField" >spaceListField</A > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> (a -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A >) -> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > [a] a -> (b -> [a]) -> ([a] -> b -> b) -> <A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcommaListField" >commaListField</A > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> (a -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A >) -> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > [a] a -> (b -> [a]) -> ([a] -> b -> b) -> <A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AoptsField" >optsField</A > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Distribution-Compiler.html#t%3ACompilerFlavor" >CompilerFlavor</A > -> (b -> [(<A HREF="Distribution-Compiler.html#t%3ACompilerFlavor" >CompilerFlavor</A >, [<A HREF="../base/Data-Char.html#t%3AString" >String</A >])]) -> ([(<A HREF="Distribution-Compiler.html#t%3ACompilerFlavor" >CompilerFlavor</A >, [<A HREF="../base/Data-Char.html#t%3AString" >String</A >])] -> b -> b) -> <A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AliftField" >liftField</A > :: (b -> a) -> (a -> b -> b) -> <A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > a -> <A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AboolField" >boolField</A > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> (b -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> (<A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A > -> b -> b) -> <A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseQuoted" >parseQuoted</A > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r a -> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3AUnrecFieldParser" >UnrecFieldParser</A > a = (<A HREF="../base/Data-Char.html#t%3AString" >String</A >, <A HREF="../base/Data-Char.html#t%3AString" >String</A >) -> a -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AwarnUnrec" >warnUnrec</A > :: <A HREF="Distribution-ParseUtils.html#t%3AUnrecFieldParser" >UnrecFieldParser</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AignoreUnrec" >ignoreUnrec</A > :: <A HREF="Distribution-ParseUtils.html#t%3AUnrecFieldParser" >UnrecFieldParser</A > a</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="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:LineNo" ><A NAME="t%3ALineNo" ></A ></A ><B >LineNo</B > = <A HREF="../ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:PError" ><A NAME="t%3APError" ></A ></A ><B >PError</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><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:AmbigousParse" ><A NAME="v%3AAmbigousParse" ></A ></A ><B >AmbigousParse</B > <A HREF="../base/Data-Char.html#t%3AString" >String</A > <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:NoParse" ><A NAME="v%3ANoParse" ></A ></A ><B >NoParse</B > <A HREF="../base/Data-Char.html#t%3AString" >String</A > <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:TabsError" ><A NAME="v%3ATabsError" ></A ></A ><B >TabsError</B > <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:FromString" ><A NAME="v%3AFromString" ></A ></A ><B >FromString</B > <A HREF="../base/Data-Char.html#t%3AString" >String</A > (<A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A >)</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:PError')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:PError" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base/Text-Show.html#t%3AShow" >Show</A > <A HREF="Distribution-ParseUtils.html#t%3APError" >PError</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:PWarning" ><A NAME="t%3APWarning" ></A ></A ><B >PWarning</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><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:PWarning" ><A NAME="v%3APWarning" ></A ></A ><B >PWarning</B > <A HREF="../base/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:UTFWarning" ><A NAME="v%3AUTFWarning" ></A ></A ><B >UTFWarning</B > <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A > <A HREF="../base/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:PWarning')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:PWarning" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base/Text-Show.html#t%3AShow" >Show</A > <A HREF="Distribution-ParseUtils.html#t%3APWarning" >PWarning</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:locatedErrorMsg" ><A NAME="v%3AlocatedErrorMsg" ></A ></A ><B >locatedErrorMsg</B > :: <A HREF="Distribution-ParseUtils.html#t%3APError" >PError</A > -> (<A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A >, <A HREF="../base/Data-Char.html#t%3AString" >String</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:syntaxError" ><A NAME="v%3AsyntaxError" ></A ></A ><B >syntaxError</B > :: <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A > -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:warning" ><A NAME="v%3Awarning" ></A ></A ><B >warning</B > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:runP" ><A NAME="v%3ArunP" ></A ></A ><B >runP</B > :: <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A > -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > a a -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:runE" ><A NAME="v%3ArunE" ></A ></A ><B >runE</B > :: <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A > -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Distribution-ReadE.html#t%3AReadE" >ReadE</A > a -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:ParseResult" ><A NAME="t%3AParseResult" ></A ></A ><B >ParseResult</B > a </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><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:ParseFailed" ><A NAME="v%3AParseFailed" ></A ></A ><B >ParseFailed</B > <A HREF="Distribution-ParseUtils.html#t%3APError" >PError</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:ParseOk" ><A NAME="v%3AParseOk" ></A ></A ><B >ParseOk</B > [<A HREF="Distribution-ParseUtils.html#t%3APWarning" >PWarning</A >] a</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ParseResult')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:ParseResult" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base/Control-Monad.html#t%3AMonad" >Monad</A > <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base/Text-Show.html#t%3AShow" >Show</A > a => <A HREF="../base/Text-Show.html#t%3AShow" >Show</A > (<A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > a)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:catchParseError" ><A NAME="v%3AcatchParseError" ></A ></A ><B >catchParseError</B > :: <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > a -> (<A HREF="Distribution-ParseUtils.html#t%3APError" >PError</A > -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > a) -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseFail" ><A NAME="v%3AparseFail" ></A ></A ><B >parseFail</B > :: <A HREF="Distribution-ParseUtils.html#t%3APError" >PError</A > -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:showPWarning" ><A NAME="v%3AshowPWarning" ></A ></A ><B >showPWarning</B > :: <A HREF="../base/System-IO.html#t%3AFilePath" >FilePath</A > -> <A HREF="Distribution-ParseUtils.html#t%3APWarning" >PWarning</A > -> <A HREF="../base/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Field" ><A NAME="t%3AField" ></A ></A ><B >Field</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><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:F" ><A NAME="v%3AF" ></A ></A ><B >F</B > <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A > <A HREF="../base/Data-Char.html#t%3AString" >String</A > <A HREF="../base/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" >A regular <TT ><A HREF="property>: <value" >property>: <value</A ></TT > field </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:Section" ><A NAME="v%3ASection" ></A ></A ><B >Section</B > <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A > <A HREF="../base/Data-Char.html#t%3AString" >String</A > <A HREF="../base/Data-Char.html#t%3AString" >String</A > [<A HREF="Distribution-ParseUtils.html#t%3AField" >Field</A >]</TD ><TD CLASS="rdoc" ><P >A section with a name and possible parameter. The syntactic structure is: </P ><PRE > <A HREF="sectionname> <arg" >sectionname> <arg</A > { <A HREF="field" >field</A >* } </PRE ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:IfBlock" ><A NAME="v%3AIfBlock" ></A ></A ><B >IfBlock</B > <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A > <A HREF="../base/Data-Char.html#t%3AString" >String</A > [<A HREF="Distribution-ParseUtils.html#t%3AField" >Field</A >] [<A HREF="Distribution-ParseUtils.html#t%3AField" >Field</A >]</TD ><TD CLASS="rdoc" ><P >A conditional block with an optional else branch: </P ><PRE > if <A HREF="condition" >condition</A > { <A HREF="field" >field</A >* } else { <A HREF="field" >field</A >* } </PRE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Field')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Field" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="Distribution-ParseUtils.html#t%3AField" >Field</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base/Text-Show.html#t%3AShow" >Show</A > <A HREF="Distribution-ParseUtils.html#t%3AField" >Field</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:fName" ><A NAME="v%3AfName" ></A ></A ><B >fName</B > :: <A HREF="Distribution-ParseUtils.html#t%3AField" >Field</A > -> <A HREF="../base/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:lineNo" ><A NAME="v%3AlineNo" ></A ></A ><B >lineNo</B > :: <A HREF="Distribution-ParseUtils.html#t%3AField" >Field</A > -> <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:FieldDescr" ><A NAME="t%3AFieldDescr" ></A ></A ><B >FieldDescr</B > a </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >Field descriptor. The parameter <TT >a</TT > parameterizes over where the field's value is stored in. </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:FieldDescr" ><A NAME="v%3AFieldDescr" ></A ></A ><B >FieldDescr</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:fieldName" ><A NAME="v%3AfieldName" ></A ></A ><B >fieldName</B > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:fieldGet" ><A NAME="v%3AfieldGet" ></A ></A ><B >fieldGet</B > :: a -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:fieldSet" ><A NAME="v%3AfieldSet" ></A ></A ><B >fieldSet</B > :: <A HREF="Distribution-ParseUtils.html#t%3ALineNo" >LineNo</A > -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> a -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > a</TD ><TD CLASS="rdoc" ><TT >fieldSet n str x</TT > Parses the field value from the given input string <TT >str</TT > and stores the result in <TT >x</TT > if the parse was successful. Otherwise, reports an error on line number <TT >n</TT >. </TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:ppField" ><A NAME="v%3AppField" ></A ></A ><B >ppField</B > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A > -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:ppFields" ><A NAME="v%3AppFields" ></A ></A ><B >ppFields</B > :: [<A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > a] -> a -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:readFields" ><A NAME="v%3AreadFields" ></A ></A ><B >readFields</B > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > [<A HREF="Distribution-ParseUtils.html#t%3AField" >Field</A >]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:showFields" ><A NAME="v%3AshowFields" ></A ></A ><B >showFields</B > :: [<A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > a] -> a -> <A HREF="../base/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:showSingleNamedField" ><A NAME="v%3AshowSingleNamedField" ></A ></A ><B >showSingleNamedField</B > :: [<A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > a] -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > (a -> <A HREF="../base/Data-Char.html#t%3AString" >String</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseFields" ><A NAME="v%3AparseFields" ></A ></A ><B >parseFields</B > :: [<A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > a] -> a -> <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Distribution-ParseUtils.html#t%3AParseResult" >ParseResult</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseFilePathQ" ><A NAME="v%3AparseFilePathQ" ></A ></A ><B >parseFilePathQ</B > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="../base/System-IO.html#t%3AFilePath" >FilePath</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseTokenQ" ><A NAME="v%3AparseTokenQ" ></A ></A ><B >parseTokenQ</B > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="../base/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseTokenQ'" ><A NAME="v%3AparseTokenQ%27" ></A ></A ><B >parseTokenQ'</B > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="../base/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseModuleNameQ" ><A NAME="v%3AparseModuleNameQ" ></A ></A ><B >parseModuleNameQ</B > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="Distribution-ModuleName.html#t%3AModuleName" >ModuleName</A ></TD ></TR ><TR ><TD CLASS="doc" >parse a module name </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseBuildTool" ><A NAME="v%3AparseBuildTool" ></A ></A ><B >parseBuildTool</B > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="Distribution-Package.html#t%3ADependency" >Dependency</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parsePkgconfigDependency" ><A NAME="v%3AparsePkgconfigDependency" ></A ></A ><B >parsePkgconfigDependency</B > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="Distribution-Package.html#t%3ADependency" >Dependency</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseOptVersion" ><A NAME="v%3AparseOptVersion" ></A ></A ><B >parseOptVersion</B > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="../base/Data-Version.html#t%3AVersion" >Version</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parsePackageNameQ" ><A NAME="v%3AparsePackageNameQ" ></A ></A ><B >parsePackageNameQ</B > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="Distribution-Package.html#t%3APackageName" >PackageName</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseVersionRangeQ" ><A NAME="v%3AparseVersionRangeQ" ></A ></A ><B >parseVersionRangeQ</B > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="Distribution-Version.html#t%3AVersionRange" >VersionRange</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseTestedWithQ" ><A NAME="v%3AparseTestedWithQ" ></A ></A ><B >parseTestedWithQ</B > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r (<A HREF="Distribution-Compiler.html#t%3ACompilerFlavor" >CompilerFlavor</A >, <A HREF="Distribution-Version.html#t%3AVersionRange" >VersionRange</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseLicenseQ" ><A NAME="v%3AparseLicenseQ" ></A ></A ><B >parseLicenseQ</B > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="Distribution-License.html#t%3ALicense" >License</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseExtensionQ" ><A NAME="v%3AparseExtensionQ" ></A ></A ><B >parseExtensionQ</B > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r <A HREF="Language-Haskell-Extension.html#t%3AExtension" >Extension</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseSepList" ><A NAME="v%3AparseSepList" ></A ></A ><B >parseSepList</B ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="arg" >:: </TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" >=> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r b</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" >-> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r a</TD ><TD CLASS="rdoc" >The parser for the stuff between commas </TD ></TR ><TR ><TD CLASS="arg" >-> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r [a]</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseCommaList" ><A NAME="v%3AparseCommaList" ></A ></A ><B >parseCommaList</B ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="arg" >:: </TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" >=> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r a</TD ><TD CLASS="rdoc" >The parser for the stuff between commas </TD ></TR ><TR ><TD CLASS="arg" >-> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r [a]</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseOptCommaList" ><A NAME="v%3AparseOptCommaList" ></A ></A ><B >parseOptCommaList</B ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="arg" >:: </TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" >=> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r a</TD ><TD CLASS="rdoc" >The parser for the stuff between commas </TD ></TR ><TR ><TD CLASS="arg" >-> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r [a]</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:showFilePath" ><A NAME="v%3AshowFilePath" ></A ></A ><B >showFilePath</B > :: <A HREF="../base/System-IO.html#t%3AFilePath" >FilePath</A > -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:showToken" ><A NAME="v%3AshowToken" ></A ></A ><B >showToken</B > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:showTestedWith" ><A NAME="v%3AshowTestedWith" ></A ></A ><B >showTestedWith</B > :: (<A HREF="Distribution-Compiler.html#t%3ACompilerFlavor" >CompilerFlavor</A >, <A HREF="Distribution-Version.html#t%3AVersionRange" >VersionRange</A >) -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:showFreeText" ><A NAME="v%3AshowFreeText" ></A ></A ><B >showFreeText</B > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A ></TD ></TR ><TR ><TD CLASS="doc" >Pretty-print free-format text, ensuring that it is vertically aligned, and with blank lines replaced by dots for correct re-parsing. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseFreeText" ><A NAME="v%3AparseFreeText" ></A ></A ><B >parseFreeText</B > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > s <A HREF="../base/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:field" ><A NAME="v%3Afield" ></A ></A ><B >field</B > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> (a -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A >) -> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > a a -> <A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:simpleField" ><A NAME="v%3AsimpleField" ></A ></A ><B >simpleField</B > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> (a -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A >) -> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > a a -> (b -> a) -> (a -> b -> b) -> <A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > b</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:listField" ><A NAME="v%3AlistField" ></A ></A ><B >listField</B > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> (a -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A >) -> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > [a] a -> (b -> [a]) -> ([a] -> b -> b) -> <A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > b</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:spaceListField" ><A NAME="v%3AspaceListField" ></A ></A ><B >spaceListField</B > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> (a -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A >) -> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > [a] a -> (b -> [a]) -> ([a] -> b -> b) -> <A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > b</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:commaListField" ><A NAME="v%3AcommaListField" ></A ></A ><B >commaListField</B > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> (a -> <A HREF="../pretty/Text-PrettyPrint-HughesPJ.html#t%3ADoc" >Doc</A >) -> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > [a] a -> (b -> [a]) -> ([a] -> b -> b) -> <A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > b</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:optsField" ><A NAME="v%3AoptsField" ></A ></A ><B >optsField</B > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> <A HREF="Distribution-Compiler.html#t%3ACompilerFlavor" >CompilerFlavor</A > -> (b -> [(<A HREF="Distribution-Compiler.html#t%3ACompilerFlavor" >CompilerFlavor</A >, [<A HREF="../base/Data-Char.html#t%3AString" >String</A >])]) -> ([(<A HREF="Distribution-Compiler.html#t%3ACompilerFlavor" >CompilerFlavor</A >, [<A HREF="../base/Data-Char.html#t%3AString" >String</A >])] -> b -> b) -> <A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > b</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:liftField" ><A NAME="v%3AliftField" ></A ></A ><B >liftField</B > :: (b -> a) -> (a -> b -> b) -> <A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > a -> <A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > b</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:boolField" ><A NAME="v%3AboolField" ></A ></A ><B >boolField</B > :: <A HREF="../base/Data-Char.html#t%3AString" >String</A > -> (b -> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A >) -> (<A HREF="../ghc-prim/GHC-Bool.html#t%3ABool" >Bool</A > -> b -> b) -> <A HREF="Distribution-ParseUtils.html#t%3AFieldDescr" >FieldDescr</A > b</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseQuoted" ><A NAME="v%3AparseQuoted" ></A ></A ><B >parseQuoted</B > :: <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r a -> <A HREF="Distribution-Compat-ReadP.html#t%3AReadP" >ReadP</A > r a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:UnrecFieldParser" ><A NAME="t%3AUnrecFieldParser" ></A ></A ><B >UnrecFieldParser</B > a = (<A HREF="../base/Data-Char.html#t%3AString" >String</A >, <A HREF="../base/Data-Char.html#t%3AString" >String</A >) -> a -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > a</TD ></TR ><TR ><TD CLASS="doc" >The type of a function which, given a name-value pair of an unrecognized field, and the current structure being built, decides whether to incorporate the unrecognized field (by returning Just x, where x is a possibly modified version of the structure being built), or not (by returning Nothing). </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:warnUnrec" ><A NAME="v%3AwarnUnrec" ></A ></A ><B >warnUnrec</B > :: <A HREF="Distribution-ParseUtils.html#t%3AUnrecFieldParser" >UnrecFieldParser</A > a</TD ></TR ><TR ><TD CLASS="doc" >A default unrecognized field parser which simply returns Nothing, i.e. ignores all unrecognized fields, so warnings will be generated. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:ignoreUnrec" ><A NAME="v%3AignoreUnrec" ></A ></A ><B >ignoreUnrec</B > :: <A HREF="Distribution-ParseUtils.html#t%3AUnrecFieldParser" >UnrecFieldParser</A > a</TD ></TR ><TR ><TD CLASS="doc" >A default unrecognized field parser which silently (i.e. no warnings will be generated) ignores unrecognized fields, by returning the structure being built unmodified. </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 >