Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-release > by-pkgid > 6e204a966e8c42d976f99a1700ce5f20 > files > 2025

ghc-7.4.2-4.mga5.i586.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>Distribution.PackageDescription.Parse</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_Distribution-PackageDescription-Parse.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">Cabal-1.14.0: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>portable</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Safe Haskell</th><td>None</td></tr></table><p class="caption">Distribution.PackageDescription.Parse</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Package descriptions
</a><ul><li><a href="#g:2">Parsing
</a></li><li><a href="#g:3">Supplementary build information
</a></li></ul></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This defined parsers and partial pretty printers for the <code>.cabal</code> format.
 Some of the complexity in this module is due to the fact that we have to be
 backwards compatible with old <code>.cabal</code> files, so there's code to translate
 into the newer structure.
</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"><a href="#v:readPackageDescription">readPackageDescription</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></li><li class="src short"><a href="#v:writePackageDescription">writePackageDescription</a> :: <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:parsePackageDescription">parsePackageDescription</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></li><li class="src short"><a href="#v:showPackageDescription">showPackageDescription</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</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:ParseFailed">ParseFailed</a> <a href="Distribution-ParseUtils.html#t:PError">PError</a>  </li><li>| <a href="#v:ParseOk">ParseOk</a> [<a href="Distribution-ParseUtils.html#t:PWarning">PWarning</a>] a  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:FieldDescr">FieldDescr</a> a = <a href="#v:FieldDescr">FieldDescr</a> {<ul class="subs"><li><a href="#v:fieldName">fieldName</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></li><li><a href="#v:fieldGet">fieldGet</a> :: a -&gt; <a href="../pretty-1.1.1.0/Text-PrettyPrint.html#t:Doc">Doc</a></li><li><a href="#v:fieldSet">fieldSet</a> :: <a href="Distribution-PackageDescription-Parse.html#t:LineNo">LineNo</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; a -&gt; <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a</li></ul>}</li><li class="src short"><span class="keyword">type</span> <a href="#t:LineNo">LineNo</a> = <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:readHookedBuildInfo">readHookedBuildInfo</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li class="src short"><a href="#v:parseHookedBuildInfo">parseHookedBuildInfo</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> <a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li class="src short"><a href="#v:writeHookedBuildInfo">writeHookedBuildInfo</a> :: <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:showHookedBuildInfo">showHookedBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:pkgDescrFieldDescrs">pkgDescrFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a>]</li><li class="src short"><a href="#v:libFieldDescrs">libFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a>]</li><li class="src short"><a href="#v:executableFieldDescrs">executableFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a>]</li><li class="src short"><a href="#v:binfoFieldDescrs">binfoFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>]</li><li class="src short"><a href="#v:sourceRepoFieldDescrs">sourceRepoFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a>]</li><li class="src short"><a href="#v:testSuiteFieldDescrs">testSuiteFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> TestSuiteStanza]</li><li class="src short"><a href="#v:flagFieldDescrs">flagFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a>]</li></ul></div><div id="interface"><h1 id="g:1">Package descriptions
</h1><div class="top"><p class="src"><a name="v:readPackageDescription" class="def">readPackageDescription</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></p><div class="doc"><p>Parse the given package file.
</p></div></div><div class="top"><p class="src"><a name="v:writePackageDescription" class="def">writePackageDescription</a> :: <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</p></div><div class="top"><p class="src"><a name="v:parsePackageDescription" class="def">parsePackageDescription</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></p><div class="doc"><p>Parses the given file into a <code><a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></code>.
</p><p>In Cabal 1.2 the syntax for package descriptions was changed to a format
 with sections and possibly indented property descriptions.
</p></div></div><div class="top"><p class="src"><a name="v:showPackageDescription" class="def">showPackageDescription</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></p></div><h2 id="g:2">Parsing
</h2><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ParseResult" class="def">ParseResult</a> a </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ParseFailed" class="def">ParseFailed</a> <a href="Distribution-ParseUtils.html#t:PError">PError</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ParseOk" class="def">ParseOk</a> [<a href="Distribution-ParseUtils.html#t:PWarning">PWarning</a>] a</td><td class="doc empty">&nbsp;</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="../base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Text-Show.html#t:Show">Show</a> a =&gt; <a href="../base-4.5.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a)</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:FieldDescr" class="def">FieldDescr</a> a </p><div class="doc"><p>Field descriptor.  The parameter <code>a</code> parameterizes over where the field's
   value is stored in.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:FieldDescr" class="def">FieldDescr</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:fieldName" class="def">fieldName</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fieldGet" class="def">fieldGet</a> :: a -&gt; <a href="../pretty-1.1.1.0/Text-PrettyPrint.html#t:Doc">Doc</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fieldSet" class="def">fieldSet</a> :: <a href="Distribution-PackageDescription-Parse.html#t:LineNo">LineNo</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; a -&gt; <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> a</dt><dd class="doc"><p><code>fieldSet n str x</code> Parses the field value from the given input
 string <code>str</code> and stores the result in <code>x</code> if the parse was
 successful.  Otherwise, reports an error on line number <code>n</code>.
</p></dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:LineNo" class="def">LineNo</a> = <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></p></div><h2 id="g:3">Supplementary build information
</h2><div class="top"><p class="src"><a name="v:readHookedBuildInfo" class="def">readHookedBuildInfo</a> :: <a href="Distribution-Verbosity.html#t:Verbosity">Verbosity</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a></p></div><div class="top"><p class="src"><a name="v:parseHookedBuildInfo" class="def">parseHookedBuildInfo</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="Distribution-PackageDescription-Parse.html#t:ParseResult">ParseResult</a> <a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a></p></div><div class="top"><p class="src"><a name="v:writeHookedBuildInfo" class="def">writeHookedBuildInfo</a> :: <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</p></div><div class="top"><p class="src"><a name="v:showHookedBuildInfo" class="def">showHookedBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></p></div><div class="top"><p class="src"><a name="v:pkgDescrFieldDescrs" class="def">pkgDescrFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a>]</p></div><div class="top"><p class="src"><a name="v:libFieldDescrs" class="def">libFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a>]</p></div><div class="top"><p class="src"><a name="v:executableFieldDescrs" class="def">executableFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a>]</p></div><div class="top"><p class="src"><a name="v:binfoFieldDescrs" class="def">binfoFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>]</p></div><div class="top"><p class="src"><a name="v:sourceRepoFieldDescrs" class="def">sourceRepoFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a>]</p></div><div class="top"><p class="src"><a name="v:testSuiteFieldDescrs" class="def">testSuiteFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> TestSuiteStanza]</p></div><div class="top"><p class="src"><a name="v:flagFieldDescrs" class="def">flagFieldDescrs</a> :: [<a href="Distribution-PackageDescription-Parse.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-PackageDescription.html#t:Flag">Flag</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>