Cabal-1.22.1.0: doc/API/Cabal/Distribution-PackageDescription.html
<!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</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.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.22.1.0: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Copyright</th><td>Isaac Jones 2003-2005</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>cabal-devel@haskell.org</td></tr><tr><th>Portability</th><td>portable</td></tr><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell98</td></tr></table><p class="caption">Distribution.PackageDescription</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">Renaming</a></li><li><a href="#g:3">Libraries</a></li><li><a href="#g:4">Executables</a></li></ul></li><li><a href="#g:5">Tests</a></li><li><a href="#g:6">Benchmarks</a></li><li><a href="#g:7">Build information</a><ul><li><a href="#g:8">Supplementary build information</a></li></ul></li><li><a href="#g:9">package configuration</a></li><li><a href="#g:10">Source repositories</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This defines the data structure for the <code>.cabal</code> file format. There are
several parts to this structure. It has top level info and then <code><a href="Distribution-PackageDescription.html#t:Library">Library</a></code>,
<code><a href="Distribution-PackageDescription.html#t:Executable">Executable</a></code>, <code><a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></code>, and <code><a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></code> sections each of which have
associated <code><a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></code> data that's used to build the library, exe, test, or
benchmark. To further complicate things there is both a <code><a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></code>
and a <code><a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></code>. This distinction relates to cabal
configurations. When we initially read a <code>.cabal</code> file we get a
<code><a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></code> which has all the conditional sections.
Before actually building a package we have to decide
on each conditional. Once we've done that we get a <code><a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></code>.
It was done this way initially to avoid breaking too much stuff when the
feature was introduced. It could probably do with being rationalised at some
point to make it simpler.</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span> <a href="#t:PackageDescription">PackageDescription</a> = <a href="#v:PackageDescription">PackageDescription</a> {<ul class="subs"><li><a href="#v:package">package</a> :: <a href="Distribution-Package.html#t:PackageIdentifier">PackageIdentifier</a></li><li><a href="#v:license">license</a> :: <a href="Distribution-License.html#t:License">License</a></li><li><a href="#v:licenseFiles">licenseFiles</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:copyright">copyright</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:maintainer">maintainer</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:author">author</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:stability">stability</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:testedWith">testedWith</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>)]</li><li><a href="#v:homepage">homepage</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:pkgUrl">pkgUrl</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:bugReports">bugReports</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:sourceRepos">sourceRepos</a> :: [<a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a>]</li><li><a href="#v:synopsis">synopsis</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:description">description</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:category">category</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:customFieldsPD">customFieldsPD</a> :: [(<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>, <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>)]</li><li><a href="#v:buildDepends">buildDepends</a> :: [<a href="Distribution-Package.html#t:Dependency">Dependency</a>]</li><li><a href="#v:specVersionRaw">specVersionRaw</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Either.html#t:Either">Either</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li><a href="#v:buildType">buildType</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></li><li><a href="#v:library">library</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></li><li><a href="#v:executables">executables</a> :: [<a href="Distribution-PackageDescription.html#t:Executable">Executable</a>]</li><li><a href="#v:testSuites">testSuites</a> :: [<a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a>]</li><li><a href="#v:benchmarks">benchmarks</a> :: [<a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a>]</li><li><a href="#v:dataFiles">dataFiles</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:dataDir">dataDir</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:extraSrcFiles">extraSrcFiles</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:extraTmpFiles">extraTmpFiles</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:extraDocFiles">extraDocFiles</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</li></ul>}</li><li class="src short"><a href="#v:emptyPackageDescription">emptyPackageDescription</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></li><li class="src short"><a href="#v:specVersion">specVersion</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Version.html#t:Version">Version</a></li><li class="src short"><a href="#v:descCabalVersion">descCabalVersion</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:BuildType">BuildType</a><ul class="subs"><li>= <a href="#v:Simple">Simple</a></li><li>| <a href="#v:Configure">Configure</a></li><li>| <a href="#v:Make">Make</a></li><li>| <a href="#v:Custom">Custom</a></li><li>| <a href="#v:UnknownBuildType">UnknownBuildType</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><a href="#v:knownBuildTypes">knownBuildTypes</a> :: [<a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:ModuleRenaming">ModuleRenaming</a> = <a href="#v:ModuleRenaming">ModuleRenaming</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)]</li><li class="src short"><a href="#v:defaultRenaming">defaultRenaming</a> :: <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></li><li class="src short"><a href="#v:lookupRenaming">lookupRenaming</a> :: <a href="Distribution-Package.html#t:Package">Package</a> pkg => pkg -> <a href="file:///usr/local/share/doc/ghc/html/libraries/containers-0.5.6.2/Data-Map-Lazy.html#t:Map">Map</a> <a href="Distribution-Package.html#t:PackageName">PackageName</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:Library">Library</a> = <a href="#v:Library">Library</a> {<ul class="subs"><li><a href="#v:exposedModules">exposedModules</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li><a href="#v:reexportedModules">reexportedModules</a> :: [<a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a>]</li><li><a href="#v:requiredSignatures">requiredSignatures</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li><a href="#v:exposedSignatures">exposedSignatures</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li><a href="#v:libExposed">libExposed</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:libBuildInfo">libBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:ModuleReexport">ModuleReexport</a> = <a href="#v:ModuleReexport">ModuleReexport</a> {<ul class="subs"><li><a href="#v:moduleReexportOriginalPackage">moduleReexportOriginalPackage</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Package.html#t:PackageName">PackageName</a></li><li><a href="#v:moduleReexportOriginalName">moduleReexportOriginalName</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li><a href="#v:moduleReexportName">moduleReexportName</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li></ul>}</li><li class="src short"><a href="#v:emptyLibrary">emptyLibrary</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a></li><li class="src short"><a href="#v:withLib">withLib</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()) -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:hasLibs">hasLibs</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:libModules">libModules</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:Executable">Executable</a> = <a href="#v:Executable">Executable</a> {<ul class="subs"><li><a href="#v:exeName">exeName</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:modulePath">modulePath</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:buildInfo">buildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></li></ul>}</li><li class="src short"><a href="#v:emptyExecutable">emptyExecutable</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></li><li class="src short"><a href="#v:withExe">withExe</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()) -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:hasExes">hasExes</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:exeModules">exeModules</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:TestSuite">TestSuite</a> = <a href="#v:TestSuite">TestSuite</a> {<ul class="subs"><li><a href="#v:testName">testName</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:testInterface">testInterface</a> :: <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></li><li><a href="#v:testBuildInfo">testBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></li><li><a href="#v:testEnabled">testEnabled</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:TestSuiteInterface">TestSuiteInterface</a><ul class="subs"><li>= <a href="#v:TestSuiteExeV10">TestSuiteExeV10</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a></li><li>| <a href="#v:TestSuiteLibV09">TestSuiteLibV09</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></li><li>| <a href="#v:TestSuiteUnsupported">TestSuiteUnsupported</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:TestType">TestType</a><ul class="subs"><li>= <a href="#v:TestTypeExe">TestTypeExe</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li>| <a href="#v:TestTypeLib">TestTypeLib</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li>| <a href="#v:TestTypeUnknown">TestTypeUnknown</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a> <a href="Distribution-Version.html#t:Version">Version</a></li></ul></li><li class="src short"><a href="#v:testType">testType</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></li><li class="src short"><a href="#v:knownTestTypes">knownTestTypes</a> :: [<a href="Distribution-PackageDescription.html#t:TestType">TestType</a>]</li><li class="src short"><a href="#v:emptyTestSuite">emptyTestSuite</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></li><li class="src short"><a href="#v:hasTests">hasTests</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:withTest">withTest</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()) -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:testModules">testModules</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><a href="#v:enabledTests">enabledTests</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:Benchmark">Benchmark</a> = <a href="#v:Benchmark">Benchmark</a> {<ul class="subs"><li><a href="#v:benchmarkName">benchmarkName</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:benchmarkInterface">benchmarkInterface</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></li><li><a href="#v:benchmarkBuildInfo">benchmarkBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></li><li><a href="#v:benchmarkEnabled">benchmarkEnabled</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:BenchmarkInterface">BenchmarkInterface</a><ul class="subs"><li>= <a href="#v:BenchmarkExeV10">BenchmarkExeV10</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a></li><li>| <a href="#v:BenchmarkUnsupported">BenchmarkUnsupported</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:BenchmarkType">BenchmarkType</a><ul class="subs"><li>= <a href="#v:BenchmarkTypeExe">BenchmarkTypeExe</a> <a href="Distribution-Version.html#t:Version">Version</a></li><li>| <a href="#v:BenchmarkTypeUnknown">BenchmarkTypeUnknown</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a> <a href="Distribution-Version.html#t:Version">Version</a></li></ul></li><li class="src short"><a href="#v:benchmarkType">benchmarkType</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></li><li class="src short"><a href="#v:knownBenchmarkTypes">knownBenchmarkTypes</a> :: [<a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a>]</li><li class="src short"><a href="#v:emptyBenchmark">emptyBenchmark</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></li><li class="src short"><a href="#v:hasBenchmarks">hasBenchmarks</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:withBenchmark">withBenchmark</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()) -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</li><li class="src short"><a href="#v:benchmarkModules">benchmarkModules</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li class="src short"><a href="#v:enabledBenchmarks">enabledBenchmarks</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a>]</li><li class="src short"><span class="keyword">data</span> <a href="#t:BuildInfo">BuildInfo</a> = <a href="#v:BuildInfo">BuildInfo</a> {<ul class="subs"><li><a href="#v:buildable">buildable</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:buildTools">buildTools</a> :: [<a href="Distribution-Package.html#t:Dependency">Dependency</a>]</li><li><a href="#v:cppOptions">cppOptions</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:ccOptions">ccOptions</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:ldOptions">ldOptions</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:pkgconfigDepends">pkgconfigDepends</a> :: [<a href="Distribution-Package.html#t:Dependency">Dependency</a>]</li><li><a href="#v:frameworks">frameworks</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:cSources">cSources</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:jsSources">jsSources</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:hsSourceDirs">hsSourceDirs</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:otherModules">otherModules</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</li><li><a href="#v:defaultLanguage">defaultLanguage</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a></li><li><a href="#v:otherLanguages">otherLanguages</a> :: [<a href="Language-Haskell-Extension.html#t:Language">Language</a>]</li><li><a href="#v:defaultExtensions">defaultExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</li><li><a href="#v:otherExtensions">otherExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</li><li><a href="#v:oldExtensions">oldExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</li><li><a href="#v:extraLibs">extraLibs</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:extraGHCiLibs">extraGHCiLibs</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:extraLibDirs">extraLibDirs</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</li><li><a href="#v:includeDirs">includeDirs</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:includes">includes</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:installIncludes">installIncludes</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</li><li><a href="#v:options">options</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>])]</li><li><a href="#v:profOptions">profOptions</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>])]</li><li><a href="#v:sharedOptions">sharedOptions</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>])]</li><li><a href="#v:customFieldsBI">customFieldsBI</a> :: [(<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>, <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>)]</li><li><a href="#v:targetBuildDepends">targetBuildDepends</a> :: [<a href="Distribution-Package.html#t:Dependency">Dependency</a>]</li><li><a href="#v:targetBuildRenaming">targetBuildRenaming</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/containers-0.5.6.2/Data-Map-Lazy.html#t:Map">Map</a> <a href="Distribution-Package.html#t:PackageName">PackageName</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></li></ul>}</li><li class="src short"><a href="#v:emptyBuildInfo">emptyBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></li><li class="src short"><a href="#v:allBuildInfo">allBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>]</li><li class="src short"><a href="#v:allLanguages">allLanguages</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="Language-Haskell-Extension.html#t:Language">Language</a>]</li><li class="src short"><a href="#v:allExtensions">allExtensions</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</li><li class="src short"><a href="#v:usedExtensions">usedExtensions</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</li><li class="src short"><a href="#v:hcOptions">hcOptions</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</li><li class="src short"><a href="#v:hcProfOptions">hcProfOptions</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</li><li class="src short"><a href="#v:hcSharedOptions">hcSharedOptions</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</li><li class="src short"><span class="keyword">type</span> <a href="#t:HookedBuildInfo">HookedBuildInfo</a> = (<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>, [(<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>, <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>)])</li><li class="src short"><a href="#v:emptyHookedBuildInfo">emptyHookedBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a></li><li class="src short"><a href="#v:updatePackageDescription">updatePackageDescription</a> :: <a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></li><li class="src short"><span class="keyword">data</span> <a href="#t:GenericPackageDescription">GenericPackageDescription</a> = <a href="#v:GenericPackageDescription">GenericPackageDescription</a> {<ul class="subs"><li><a href="#v:packageDescription">packageDescription</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></li><li><a href="#v:genPackageFlags">genPackageFlags</a> :: [<a href="Distribution-PackageDescription.html#t:Flag">Flag</a>]</li><li><a href="#v:condLibrary">condLibrary</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Package.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:Library">Library</a>)</li><li><a href="#v:condExecutables">condExecutables</a> :: [(<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Package.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:Executable">Executable</a>)]</li><li><a href="#v:condTestSuites">condTestSuites</a> :: [(<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Package.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a>)]</li><li><a href="#v:condBenchmarks">condBenchmarks</a> :: [(<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Package.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a>)]</li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:Flag">Flag</a> = <a href="#v:MkFlag">MkFlag</a> {<ul class="subs"><li><a href="#v:flagName">flagName</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></li><li><a href="#v:flagDescription">flagDescription</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:flagDefault">flagDefault</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></li><li><a href="#v:flagManual">flagManual</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></li></ul>}</li><li class="src short"><span class="keyword">newtype</span> <a href="#t:FlagName">FlagName</a> = <a href="#v:FlagName">FlagName</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:FlagAssignment">FlagAssignment</a> = [(<a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a>, <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a>)]</li><li class="src short"><span class="keyword">data</span> <a href="#t:CondTree">CondTree</a> v c a = <a href="#v:CondNode">CondNode</a> {<ul class="subs"><li><a href="#v:condTreeData">condTreeData</a> :: a</li><li><a href="#v:condTreeConstraints">condTreeConstraints</a> :: c</li><li><a href="#v:condTreeComponents">condTreeComponents</a> :: [(<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> v, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a, <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a))]</li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:ConfVar">ConfVar</a><ul class="subs"><li>= <a href="#v:OS">OS</a> <a href="Distribution-System.html#t:OS">OS</a></li><li>| <a href="#v:Arch">Arch</a> <a href="Distribution-System.html#t:Arch">Arch</a></li><li>| <a href="#v:Flag">Flag</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></li><li>| <a href="#v:Impl">Impl</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:Condition">Condition</a> c<ul class="subs"><li>= <a href="#v:Var">Var</a> c</li><li>| <a href="#v:Lit">Lit</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></li><li>| <a href="#v:CNot">CNot</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</li><li>| <a href="#v:COr">COr</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</li><li>| <a href="#v:CAnd">CAnd</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:SourceRepo">SourceRepo</a> = <a href="#v:SourceRepo">SourceRepo</a> {<ul class="subs"><li><a href="#v:repoKind">repoKind</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></li><li><a href="#v:repoType">repoType</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></li><li><a href="#v:repoLocation">repoLocation</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:repoModule">repoModule</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:repoBranch">repoBranch</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:repoTag">repoTag</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li><li><a href="#v:repoSubdir">repoSubdir</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a></li></ul>}</li><li class="src short"><span class="keyword">data</span> <a href="#t:RepoKind">RepoKind</a><ul class="subs"><li>= <a href="#v:RepoHead">RepoHead</a></li><li>| <a href="#v:RepoThis">RepoThis</a></li><li>| <a href="#v:RepoKindUnknown">RepoKindUnknown</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:RepoType">RepoType</a><ul class="subs"><li>= <a href="#v:Darcs">Darcs</a></li><li>| <a href="#v:Git">Git</a></li><li>| <a href="#v:SVN">SVN</a></li><li>| <a href="#v:CVS">CVS</a></li><li>| <a href="#v:Mercurial">Mercurial</a></li><li>| <a href="#v:GnuArch">GnuArch</a></li><li>| <a href="#v:Bazaar">Bazaar</a></li><li>| <a href="#v:Monotone">Monotone</a></li><li>| <a href="#v:OtherRepoType">OtherRepoType</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></li></ul></li><li class="src short"><a href="#v:knownRepoTypes">knownRepoTypes</a> :: [<a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a>]</li></ul></div><div id="interface"><h1 id="g:1">Package descriptions</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:PackageDescription" class="def">PackageDescription</a></p><div class="doc"><p>This data type is the internal representation of the file <code>pkg.cabal</code>.
It contains two kinds of information about the package: information
which is needed for all packages, such as the package name and version, and
information which is needed for the simple build system only, such as
the compiler options and library name.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:PackageDescription" class="def">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:package" class="def">package</a> :: <a href="Distribution-Package.html#t:PackageIdentifier">PackageIdentifier</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:license" class="def">license</a> :: <a href="Distribution-License.html#t:License">License</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:licenseFiles" class="def">licenseFiles</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:copyright" class="def">copyright</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:maintainer" class="def">maintainer</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:author" class="def">author</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:stability" class="def">stability</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:testedWith" class="def">testedWith</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, <a href="Distribution-Version.html#t:VersionRange">VersionRange</a>)]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:homepage" class="def">homepage</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:pkgUrl" class="def">pkgUrl</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:bugReports" class="def">bugReports</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:sourceRepos" class="def">sourceRepos</a> :: [<a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:synopsis" class="def">synopsis</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></dt><dd class="doc"><p>A one-line summary of this package</p></dd><dt class="src"><a name="v:description" class="def">description</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></dt><dd class="doc"><p>A more verbose description of this package</p></dd><dt class="src"><a name="v:category" class="def">category</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:customFieldsPD" class="def">customFieldsPD</a> :: [(<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>, <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>)]</dt><dd class="doc"><p>Custom fields starting
with x-, stored in a
simple assoc-list.
| YOU PROBABLY DON'T WANT TO USE THIS FIELD. This field is
special! Depending on how far along processing the
PackageDescription we are, the contents of this field are
either nonsense, or the collected dependencies of *all* the
components in this package. buildDepends is initialized by
<code>finalizePackageDescription</code> and <code>flattenPackageDescription</code>;
prior to that, dependency info is stored in the <code><a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a></code>
built around a <code><a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></code>. When this
resolution is done, dependency info is written to the inner
<code><a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></code> and this field. This is all horrible, and #2066
tracks progress to get rid of this field.</p></dd><dt class="src"><a name="v:buildDepends" class="def">buildDepends</a> :: [<a href="Distribution-Package.html#t:Dependency">Dependency</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:specVersionRaw" class="def">specVersionRaw</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Either.html#t:Either">Either</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></dt><dd class="doc"><p>The version of the Cabal spec that this package description uses.
For historical reasons this is specified with a version range but
only ranges of the form <code>>= v</code> make sense. We are in the process of
transitioning to specifying just a single version, not a range.</p></dd><dt class="src"><a name="v:buildType" class="def">buildType</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:library" class="def">library</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:executables" class="def">executables</a> :: [<a href="Distribution-PackageDescription.html#t:Executable">Executable</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:testSuites" class="def">testSuites</a> :: [<a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:benchmarks" class="def">benchmarks</a> :: [<a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:dataFiles" class="def">dataFiles</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:dataDir" class="def">dataDir</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:extraSrcFiles" class="def">extraSrcFiles</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:extraTmpFiles" class="def">extraTmpFiles</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:extraDocFiles" class="def">extraDocFiles</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:PackageDescription" class="caption collapser" onclick="toggleSection('i:PackageDescription')">Instances</p><div id="section.i:PackageDescription" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Distribution-Package.html#t:Package">Package</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src"><span class="keyword">type</span> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:emptyPackageDescription" class="def">emptyPackageDescription</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></p></div><div class="top"><p class="src"><a name="v:specVersion" class="def">specVersion</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Version.html#t:Version">Version</a></p><div class="doc"><p>The version of the Cabal spec that this package should be interpreted
against.</p><p>Historically we used a version range but we are switching to using a single
version. Currently we accept either. This function converts into a single
version by ignoring upper bounds in the version range.</p></div></div><div class="top"><p class="src"><a name="v:descCabalVersion" class="def">descCabalVersion</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></p><div class="doc"><div class="warning"><p>Deprecated: Use specVersion instead</p></div><p>The range of versions of the Cabal tools that this package is intended to
work with.</p><p>This function is deprecated and should not be used for new purposes, only to
support old packages that rely on the old interpretation.</p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:BuildType" class="def">BuildType</a></p><div class="doc"><p>The type of build system used by this package.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Simple" class="def">Simple</a></td><td class="doc"><p>calls <code>Distribution.Simple.defaultMain</code></p></td></tr><tr><td class="src"><a name="v:Configure" class="def">Configure</a></td><td class="doc"><p>calls <code>Distribution.Simple.defaultMainWithHooks defaultUserHooks</code>,
which invokes <code>configure</code> to generate additional build
information used by later phases.</p></td></tr><tr><td class="src"><a name="v:Make" class="def">Make</a></td><td class="doc"><p>calls <code>Distribution.Make.defaultMain</code></p></td></tr><tr><td class="src"><a name="v:Custom" class="def">Custom</a></td><td class="doc"><p>uses user-supplied <code>Setup.hs</code> or <code>Setup.lhs</code> (default)</p></td></tr><tr><td class="src"><a name="v:UnknownBuildType" class="def">UnknownBuildType</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></td><td class="doc"><p>a package that uses an unknown build type cannot actually
be built. Doing it this way rather than just giving a
parse error means we get better error messages and allows
you to inspect the rest of the package description.</p></td></tr></table></div><div class="subs instances"><p id="control.i:BuildType" class="caption collapser" onclick="toggleSection('i:BuildType')">Instances</p><div id="section.i:BuildType" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><span class="keyword">type</span> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:knownBuildTypes" class="def">knownBuildTypes</a> :: [<a href="Distribution-PackageDescription.html#t:BuildType">BuildType</a>]</p></div><h2 id="g:2">Renaming</h2><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:ModuleRenaming" class="def">ModuleRenaming</a></p><div class="doc"><p>Renaming applied to the modules provided by a package.
The boolean indicates whether or not to also include all of the
original names of modules. Thus, <code>ModuleRenaming False []</code> is
"don't expose any modules, and <code>ModuleRenaming True [(<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html">Data.Bool</a>, <a href="Bool.html">Bool</a>)]</code>
is, "expose all modules, but also expose <code>Data.Bool</code> as <code>Bool</code>".</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ModuleRenaming" class="def">ModuleRenaming</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a> [(<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>, <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>)]</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ModuleRenaming" class="caption collapser" onclick="toggleSection('i:ModuleRenaming')">Instances</p><div id="section.i:ModuleRenaming" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Monoid.html#t:Monoid">Monoid</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></td><td class="doc empty"> </td></tr><tr><td class="src"><span class="keyword">type</span> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:defaultRenaming" class="def">defaultRenaming</a> :: <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></p></div><div class="top"><p class="src"><a name="v:lookupRenaming" class="def">lookupRenaming</a> :: <a href="Distribution-Package.html#t:Package">Package</a> pkg => pkg -> <a href="file:///usr/local/share/doc/ghc/html/libraries/containers-0.5.6.2/Data-Map-Lazy.html#t:Map">Map</a> <a href="Distribution-Package.html#t:PackageName">PackageName</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a> -> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></p></div><h2 id="g:3">Libraries</h2><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Library" class="def">Library</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Library" class="def">Library</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:exposedModules" class="def">exposedModules</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:reexportedModules" class="def">reexportedModules</a> :: [<a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:requiredSignatures" class="def">requiredSignatures</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</dt><dd class="doc"><p>What sigs need implementations?</p></dd><dt class="src"><a name="v:exposedSignatures" class="def">exposedSignatures</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</dt><dd class="doc"><p>What sigs are visible to users?</p></dd><dt class="src"><a name="v:libExposed" class="def">libExposed</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc"><p>Is the lib to be exposed by default?</p></dd><dt class="src"><a name="v:libBuildInfo" class="def">libBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Library" class="caption collapser" onclick="toggleSection('i:Library')">Instances</p><div id="section.i:Library" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Monoid.html#t:Monoid">Monoid</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:Library">Library</a></td><td class="doc empty"> </td></tr><tr><td class="src"><span class="keyword">type</span> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Library">Library</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:ModuleReexport" class="def">ModuleReexport</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ModuleReexport" class="def">ModuleReexport</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:moduleReexportOriginalPackage" class="def">moduleReexportOriginalPackage</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-Package.html#t:PackageName">PackageName</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:moduleReexportOriginalName" class="def">moduleReexportOriginalName</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:moduleReexportName" class="def">moduleReexportName</a> :: <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:ModuleReexport" class="caption collapser" onclick="toggleSection('i:ModuleReexport')">Instances</p><div id="section.i:ModuleReexport" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a></td><td class="doc empty"> </td></tr><tr><td class="src"><span class="keyword">type</span> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:ModuleReexport">ModuleReexport</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:emptyLibrary" class="def">emptyLibrary</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a></p></div><div class="top"><p class="src"><a name="v:withLib" class="def">withLib</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-PackageDescription.html#t:Library">Library</a> -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()) -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p>If the package description has a library section, call the given
function with the library build info as argument.</p></div></div><div class="top"><p class="src"><a name="v:hasLibs" class="def">hasLibs</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></p><div class="doc"><p>does this package have any libraries?</p></div></div><div class="top"><p class="src"><a name="v:libModules" class="def">libModules</a> :: <a href="Distribution-PackageDescription.html#t:Library">Library</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</p><div class="doc"><p>Get all the module names from the library (exposed and internal modules)
which need to be compiled. (This does not include reexports, which
do not need to be compiled.)</p></div></div><h2 id="g:4">Executables</h2><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Executable" class="def">Executable</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Executable" class="def">Executable</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:exeName" class="def">exeName</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:modulePath" class="def">modulePath</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:buildInfo" class="def">buildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Executable" class="caption collapser" onclick="toggleSection('i:Executable')">Instances</p><div id="section.i:Executable" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Monoid.html#t:Monoid">Monoid</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></td><td class="doc empty"> </td></tr><tr><td class="src"><span class="keyword">type</span> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:emptyExecutable" class="def">emptyExecutable</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a></p></div><div class="top"><p class="src"><a name="v:withExe" class="def">withExe</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()) -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p>Perform the action on each buildable <code><a href="Distribution-PackageDescription.html#t:Executable">Executable</a></code> in the package
description.</p></div></div><div class="top"><p class="src"><a name="v:hasExes" class="def">hasExes</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></p><div class="doc"><p>does this package have any executables?</p></div></div><div class="top"><p class="src"><a name="v:exeModules" class="def">exeModules</a> :: <a href="Distribution-PackageDescription.html#t:Executable">Executable</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</p><div class="doc"><p>Get all the module names from an exe</p></div></div><h1 id="g:5">Tests</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:TestSuite" class="def">TestSuite</a></p><div class="doc"><p>A "test-suite" stanza in a cabal file.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:TestSuite" class="def">TestSuite</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:testName" class="def">testName</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:testInterface" class="def">testInterface</a> :: <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:testBuildInfo" class="def">testBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:testEnabled" class="def">testEnabled</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:TestSuite" class="caption collapser" onclick="toggleSection('i:TestSuite')">Instances</p><div id="section.i:TestSuite" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Monoid.html#t:Monoid">Monoid</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></td><td class="doc empty"> </td></tr><tr><td class="src"><span class="keyword">type</span> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:TestSuiteInterface" class="def">TestSuiteInterface</a></p><div class="doc"><p>The test suite interfaces that are currently defined. Each test suite must
specify which interface it supports.</p><p>More interfaces may be defined in future, either new revisions or totally
new interfaces.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:TestSuiteExeV10" class="def">TestSuiteExeV10</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Test interface "exitcode-stdio-1.0". The test-suite takes the form
of an executable. It returns a zero exit code for success, non-zero for
failure. The stdout and stderr channels may be logged. It takes no
command line parameters and nothing on stdin.</p></td></tr><tr><td class="src"><a name="v:TestSuiteLibV09" class="def">TestSuiteLibV09</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></td><td class="doc"><p>Test interface "detailed-0.9". The test-suite takes the form of a
library containing a designated module that exports "tests :: [Test]".</p></td></tr><tr><td class="src"><a name="v:TestSuiteUnsupported" class="def">TestSuiteUnsupported</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></td><td class="doc"><p>A test suite that does not conform to one of the above interfaces for
the given reason (e.g. unknown test type).</p></td></tr></table></div><div class="subs instances"><p id="control.i:TestSuiteInterface" class="caption collapser" onclick="toggleSection('i:TestSuiteInterface')">Instances</p><div id="section.i:TestSuiteInterface" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Monoid.html#t:Monoid">Monoid</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></td><td class="doc empty"> </td></tr><tr><td class="src"><span class="keyword">type</span> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:TestSuiteInterface">TestSuiteInterface</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:TestType" class="def">TestType</a></p><div class="doc"><p>The "test-type" field in the test suite stanza.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:TestTypeExe" class="def">TestTypeExe</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><p>"type: exitcode-stdio-x.y"</p></td></tr><tr><td class="src"><a name="v:TestTypeLib" class="def">TestTypeLib</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><p>"type: detailed-x.y"</p></td></tr><tr><td class="src"><a name="v:TestTypeUnknown" class="def">TestTypeUnknown</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><p>Some unknown test type e.g. "type: foo"</p></td></tr></table></div><div class="subs instances"><p id="control.i:TestType" class="caption collapser" onclick="toggleSection('i:TestType')">Instances</p><div id="section.i:TestType" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><span class="keyword">type</span> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:testType" class="def">testType</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="Distribution-PackageDescription.html#t:TestType">TestType</a></p></div><div class="top"><p class="src"><a name="v:knownTestTypes" class="def">knownTestTypes</a> :: [<a href="Distribution-PackageDescription.html#t:TestType">TestType</a>]</p></div><div class="top"><p class="src"><a name="v:emptyTestSuite" class="def">emptyTestSuite</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></p></div><div class="top"><p class="src"><a name="v:hasTests" class="def">hasTests</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></p><div class="doc"><p>Does this package have any test suites?</p></div></div><div class="top"><p class="src"><a name="v:withTest" class="def">withTest</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()) -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p>Perform an action on each buildable <code><a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a></code> in a package.</p></div></div><div class="top"><p class="src"><a name="v:testModules" class="def">testModules</a> :: <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</p><div class="doc"><p>Get all the module names from a test suite.</p></div></div><div class="top"><p class="src"><a name="v:enabledTests" class="def">enabledTests</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a>]</p><div class="doc"><p>Get all the enabled test suites from a package.</p></div></div><h1 id="g:6">Benchmarks</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Benchmark" class="def">Benchmark</a></p><div class="doc"><p>A "benchmark" stanza in a cabal file.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Benchmark" class="def">Benchmark</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:benchmarkName" class="def">benchmarkName</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:benchmarkInterface" class="def">benchmarkInterface</a> :: <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:benchmarkBuildInfo" class="def">benchmarkBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:benchmarkEnabled" class="def">benchmarkEnabled</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Benchmark" class="caption collapser" onclick="toggleSection('i:Benchmark')">Instances</p><div id="section.i:Benchmark" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Monoid.html#t:Monoid">Monoid</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></td><td class="doc empty"> </td></tr><tr><td class="src"><span class="keyword">type</span> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:BenchmarkInterface" class="def">BenchmarkInterface</a></p><div class="doc"><p>The benchmark interfaces that are currently defined. Each
benchmark must specify which interface it supports.</p><p>More interfaces may be defined in future, either new revisions or
totally new interfaces.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:BenchmarkExeV10" class="def">BenchmarkExeV10</a> <a href="Distribution-Version.html#t:Version">Version</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a></td><td class="doc"><p>Benchmark interface "exitcode-stdio-1.0". The benchmark
takes the form of an executable. It returns a zero exit code
for success, non-zero for failure. The stdout and stderr
channels may be logged. It takes no command line parameters
and nothing on stdin.</p></td></tr><tr><td class="src"><a name="v:BenchmarkUnsupported" class="def">BenchmarkUnsupported</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></td><td class="doc"><p>A benchmark that does not conform to one of the above
interfaces for the given reason (e.g. unknown benchmark type).</p></td></tr></table></div><div class="subs instances"><p id="control.i:BenchmarkInterface" class="caption collapser" onclick="toggleSection('i:BenchmarkInterface')">Instances</p><div id="section.i:BenchmarkInterface" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Monoid.html#t:Monoid">Monoid</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></td><td class="doc empty"> </td></tr><tr><td class="src"><span class="keyword">type</span> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BenchmarkInterface">BenchmarkInterface</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:BenchmarkType" class="def">BenchmarkType</a></p><div class="doc"><p>The "benchmark-type" field in the benchmark stanza.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:BenchmarkTypeExe" class="def">BenchmarkTypeExe</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><p>"type: exitcode-stdio-x.y"</p></td></tr><tr><td class="src"><a name="v:BenchmarkTypeUnknown" class="def">BenchmarkTypeUnknown</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a> <a href="Distribution-Version.html#t:Version">Version</a></td><td class="doc"><p>Some unknown benchmark type e.g. "type: foo"</p></td></tr></table></div><div class="subs instances"><p id="control.i:BenchmarkType" class="caption collapser" onclick="toggleSection('i:BenchmarkType')">Instances</p><div id="section.i:BenchmarkType" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><span class="keyword">type</span> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:benchmarkType" class="def">benchmarkType</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a></p></div><div class="top"><p class="src"><a name="v:knownBenchmarkTypes" class="def">knownBenchmarkTypes</a> :: [<a href="Distribution-PackageDescription.html#t:BenchmarkType">BenchmarkType</a>]</p></div><div class="top"><p class="src"><a name="v:emptyBenchmark" class="def">emptyBenchmark</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></p></div><div class="top"><p class="src"><a name="v:hasBenchmarks" class="def">hasBenchmarks</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></p><div class="doc"><p>Does this package have any benchmarks?</p></div></div><div class="top"><p class="src"><a name="v:withBenchmark" class="def">withBenchmark</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> (<a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()) -> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p>Perform an action on each buildable <code><a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a></code> in a package.</p></div></div><div class="top"><p class="src"><a name="v:benchmarkModules" class="def">benchmarkModules</a> :: <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a> -> [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</p><div class="doc"><p>Get all the module names from a benchmark.</p></div></div><div class="top"><p class="src"><a name="v:enabledBenchmarks" class="def">enabledBenchmarks</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a>]</p><div class="doc"><p>Get all the enabled benchmarks from a package.</p></div></div><h1 id="g:7">Build information</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:BuildInfo" class="def">BuildInfo</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:BuildInfo" class="def">BuildInfo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:buildable" class="def">buildable</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc"><p>component is buildable here</p></dd><dt class="src"><a name="v:buildTools" class="def">buildTools</a> :: [<a href="Distribution-Package.html#t:Dependency">Dependency</a>]</dt><dd class="doc"><p>tools needed to build this bit</p></dd><dt class="src"><a name="v:cppOptions" class="def">cppOptions</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</dt><dd class="doc"><p>options for pre-processing Haskell code</p></dd><dt class="src"><a name="v:ccOptions" class="def">ccOptions</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</dt><dd class="doc"><p>options for C compiler</p></dd><dt class="src"><a name="v:ldOptions" class="def">ldOptions</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</dt><dd class="doc"><p>options for linker</p></dd><dt class="src"><a name="v:pkgconfigDepends" class="def">pkgconfigDepends</a> :: [<a href="Distribution-Package.html#t:Dependency">Dependency</a>]</dt><dd class="doc"><p>pkg-config packages that are used</p></dd><dt class="src"><a name="v:frameworks" class="def">frameworks</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</dt><dd class="doc"><p>support frameworks for Mac OS X</p></dd><dt class="src"><a name="v:cSources" class="def">cSources</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:jsSources" class="def">jsSources</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:hsSourceDirs" class="def">hsSourceDirs</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</dt><dd class="doc"><p>where to look for the Haskell module hierarchy</p></dd><dt class="src"><a name="v:otherModules" class="def">otherModules</a> :: [<a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a>]</dt><dd class="doc"><p>non-exposed or non-main modules</p></dd><dt class="src"><a name="v:defaultLanguage" class="def">defaultLanguage</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Language-Haskell-Extension.html#t:Language">Language</a></dt><dd class="doc"><p>language used when not explicitly specified</p></dd><dt class="src"><a name="v:otherLanguages" class="def">otherLanguages</a> :: [<a href="Language-Haskell-Extension.html#t:Language">Language</a>]</dt><dd class="doc"><p>other languages used within the package</p></dd><dt class="src"><a name="v:defaultExtensions" class="def">defaultExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</dt><dd class="doc"><p>language extensions used by all modules</p></dd><dt class="src"><a name="v:otherExtensions" class="def">otherExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</dt><dd class="doc"><p>other language extensions used within the package</p></dd><dt class="src"><a name="v:oldExtensions" class="def">oldExtensions</a> :: [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</dt><dd class="doc"><p>the old extensions field, treated same as <code><a href="Distribution-PackageDescription.html#v:defaultExtensions">defaultExtensions</a></code></p></dd><dt class="src"><a name="v:extraLibs" class="def">extraLibs</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</dt><dd class="doc"><p>what libraries to link with when compiling a program that uses your package</p></dd><dt class="src"><a name="v:extraGHCiLibs" class="def">extraGHCiLibs</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</dt><dd class="doc"><p>if present, overrides extraLibs when package is loaded with GHCi.</p></dd><dt class="src"><a name="v:extraLibDirs" class="def">extraLibDirs</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:includeDirs" class="def">includeDirs</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</dt><dd class="doc"><p>directories to find .h files</p></dd><dt class="src"><a name="v:includes" class="def">includes</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</dt><dd class="doc"><p>The .h files to be found in includeDirs</p></dd><dt class="src"><a name="v:installIncludes" class="def">installIncludes</a> :: [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a>]</dt><dd class="doc"><p>.h files to install with the package</p></dd><dt class="src"><a name="v:options" class="def">options</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>])]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:profOptions" class="def">profOptions</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>])]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:sharedOptions" class="def">sharedOptions</a> :: [(<a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a>, [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>])]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:customFieldsBI" class="def">customFieldsBI</a> :: [(<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>, <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>)]</dt><dd class="doc"><p>Custom fields starting
with x-, stored in a
simple assoc-list.</p></dd><dt class="src"><a name="v:targetBuildDepends" class="def">targetBuildDepends</a> :: [<a href="Distribution-Package.html#t:Dependency">Dependency</a>]</dt><dd class="doc"><p>Dependencies specific to a library or executable target</p></dd><dt class="src"><a name="v:targetBuildRenaming" class="def">targetBuildRenaming</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/containers-0.5.6.2/Data-Map-Lazy.html#t:Map">Map</a> <a href="Distribution-Package.html#t:PackageName">PackageName</a> <a href="Distribution-PackageDescription.html#t:ModuleRenaming">ModuleRenaming</a></dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:BuildInfo" class="caption collapser" onclick="toggleSection('i:BuildInfo')">Instances</p><div id="section.i:BuildInfo" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Monoid.html#t:Monoid">Monoid</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><span class="keyword">type</span> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:emptyBuildInfo" class="def">emptyBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></p></div><div class="top"><p class="src"><a name="v:allBuildInfo" class="def">allBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> [<a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>]</p><div class="doc"><p>The <code><a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a></code> for the library (if there is one and it's buildable), and
all buildable executables, test suites and benchmarks. Useful for gathering
dependencies.</p></div></div><div class="top"><p class="src"><a name="v:allLanguages" class="def">allLanguages</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="Language-Haskell-Extension.html#t:Language">Language</a>]</p><div class="doc"><p>The <code><a href="Language-Haskell-Extension.html#t:Language">Language</a></code>s used by this component</p></div></div><div class="top"><p class="src"><a name="v:allExtensions" class="def">allExtensions</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</p><div class="doc"><p>The <code><a href="Language-Haskell-Extension.html#t:Extension">Extension</a></code>s that are used somewhere by this component</p></div></div><div class="top"><p class="src"><a name="v:usedExtensions" class="def">usedExtensions</a> :: <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="Language-Haskell-Extension.html#t:Extension">Extension</a>]</p><div class="doc"><p>The <code>Extensions</code> that are used by all modules in this component</p></div></div><div class="top"><p class="src"><a name="v:hcOptions" class="def">hcOptions</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</p><div class="doc"><p>Select options for a particular Haskell compiler.</p></div></div><div class="top"><p class="src"><a name="v:hcProfOptions" class="def">hcProfOptions</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</p></div><div class="top"><p class="src"><a name="v:hcSharedOptions" class="def">hcSharedOptions</a> :: <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> -> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a> -> [<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>]</p></div><h2 id="g:8">Supplementary build information</h2><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:HookedBuildInfo" class="def">HookedBuildInfo</a> = (<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>, [(<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>, <a href="Distribution-PackageDescription.html#t:BuildInfo">BuildInfo</a>)])</p></div><div class="top"><p class="src"><a name="v:emptyHookedBuildInfo" class="def">emptyHookedBuildInfo</a> :: <a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a></p></div><div class="top"><p class="src"><a name="v:updatePackageDescription" class="def">updatePackageDescription</a> :: <a href="Distribution-PackageDescription.html#t:HookedBuildInfo">HookedBuildInfo</a> -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a> -> <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></p></div><h1 id="g:9">package configuration</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:GenericPackageDescription" class="def">GenericPackageDescription</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:GenericPackageDescription" class="def">GenericPackageDescription</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:packageDescription" class="def">packageDescription</a> :: <a href="Distribution-PackageDescription.html#t:PackageDescription">PackageDescription</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:genPackageFlags" class="def">genPackageFlags</a> :: [<a href="Distribution-PackageDescription.html#t:Flag">Flag</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:condLibrary" class="def">condLibrary</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Package.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:Library">Library</a>)</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:condExecutables" class="def">condExecutables</a> :: [(<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Package.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:Executable">Executable</a>)]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:condTestSuites" class="def">condTestSuites</a> :: [(<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Package.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:TestSuite">TestSuite</a>)]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:condBenchmarks" class="def">condBenchmarks</a> :: [(<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a>, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a> [<a href="Distribution-Package.html#t:Dependency">Dependency</a>] <a href="Distribution-PackageDescription.html#t:Benchmark">Benchmark</a>)]</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:GenericPackageDescription" class="caption collapser" onclick="toggleSection('i:GenericPackageDescription')">Instances</p><div id="section.i:GenericPackageDescription" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Distribution-Package.html#t:Package">Package</a> <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:GenericPackageDescription">GenericPackageDescription</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Flag" class="def">Flag</a></p><div class="doc"><p>A flag can represent a feature to be included, or a way of linking
a target against its dependencies, or in fact whatever you can think of.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:MkFlag" class="def">MkFlag</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:flagName" class="def">flagName</a> :: <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:flagDescription" class="def">flagDescription</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:flagDefault" class="def">flagDefault</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:flagManual" class="def">flagManual</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:Flag" class="caption collapser" onclick="toggleSection('i:Flag')">Instances</p><div id="section.i:Flag" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:Flag">Flag</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:Flag">Flag</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">newtype</span> <a name="t:FlagName" class="def">FlagName</a></p><div class="doc"><p>A <code><a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></code> is the name of a user-defined configuration flag</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:FlagName" class="def">FlagName</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:FlagName" class="caption collapser" onclick="toggleSection('i:FlagName')">Instances</p><div id="section.i:FlagName" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><span class="keyword">type</span> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:FlagAssignment" class="def">FlagAssignment</a> = [(<a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a>, <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a>)]</p><div class="doc"><p>A <code><a href="Distribution-PackageDescription.html#t:FlagAssignment">FlagAssignment</a></code> is a total or partial mapping of <code><a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></code>s to
<code><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></code> flag values. It represents the flags chosen by the user or
discovered during configuration. For example <code>--flags=foo --flags=-bar</code>
becomes <code>[("foo", True), ("bar", False)]</code></p></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:CondTree" class="def">CondTree</a> v c a</p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:CondNode" class="def">CondNode</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:condTreeData" class="def">condTreeData</a> :: a</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:condTreeConstraints" class="def">condTreeConstraints</a> :: c</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:condTreeComponents" class="def">condTreeComponents</a> :: [(<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> v, <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a, <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a))]</dt><dd class="doc empty"> </dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:CondTree" class="caption collapser" onclick="toggleSection('i:CondTree')">Instances</p><div id="section.i:CondTree" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> (* -> * -> * -> *) <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> (a -> c -> [<a href="file:///usr/local/share/doc/ghc/html/libraries/ghc-prim-0.3.1.0/GHC-Tuple.html#t:-40--44--44--41-">(,,)</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> v) (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a) (<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a))] -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a) (<a href="Distribution-PackageDescription.html#v:CondNode">CondNode</a> v c a)</td><td class="doc empty"> </td></tr><tr><td class="src">(<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> v, <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> c, <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> a) => <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a)</td><td class="doc empty"> </td></tr><tr><td class="src">(<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> v, <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> c, <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> a) => <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a)</td><td class="doc empty"> </td></tr><tr><td class="src">(<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> v, <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> c, <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> a) => <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a)</td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:ConfVar" class="def">ConfVar</a></p><div class="doc"><p>A <code>ConfVar</code> represents the variable type used.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:OS" class="def">OS</a> <a href="Distribution-System.html#t:OS">OS</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Arch" class="def">Arch</a> <a href="Distribution-System.html#t:Arch">Arch</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Flag" class="def">Flag</a> <a href="Distribution-PackageDescription.html#t:FlagName">FlagName</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Impl" class="def">Impl</a> <a href="Distribution-Compiler.html#t:CompilerFlavor">CompilerFlavor</a> <a href="Distribution-Version.html#t:VersionRange">VersionRange</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ConfVar" class="caption collapser" onclick="toggleSection('i:ConfVar')">Instances</p><div id="section.i:ConfVar" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:ConfVar">ConfVar</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:Condition" class="def">Condition</a> c</p><div class="doc"><p>A boolean expression parameterized over the variable type used.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Var" class="def">Var</a> c</td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Lit" class="def">Lit</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:CNot" class="def">CNot</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:COr" class="def">COr</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:CAnd" class="def">CAnd</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:Condition" class="caption collapser" onclick="toggleSection('i:Condition')">Instances</p><div id="section.i:Condition" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> c => <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> c => <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> c => <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> (* -> *) <a href="Distribution-PackageDescription.html#t:Condition">Condition</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> (<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) (<a href="Distribution-PackageDescription.html#v:Lit">Lit</a> c)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> (c -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) (<a href="Distribution-PackageDescription.html#v:Var">Var</a> c)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) (<a href="Distribution-PackageDescription.html#v:CNot">CNot</a> c)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) (<a href="Distribution-PackageDescription.html#v:COr">COr</a> c)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c -> <a href="Distribution-PackageDescription.html#t:Condition">Condition</a> c) (<a href="Distribution-PackageDescription.html#v:CAnd">CAnd</a> c)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> (a -> c -> [<a href="file:///usr/local/share/doc/ghc/html/libraries/ghc-prim-0.3.1.0/GHC-Tuple.html#t:-40--44--44--41-">(,,)</a> (<a href="Distribution-PackageDescription.html#t:Condition">Condition</a> v) (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a) (<a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a))] -> <a href="Distribution-PackageDescription.html#t:CondTree">CondTree</a> v c a) (<a href="Distribution-PackageDescription.html#v:CondNode">CondNode</a> v c a)</td><td class="doc empty"> </td></tr></table></div></div></div><h1 id="g:10">Source repositories</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:SourceRepo" class="def">SourceRepo</a></p><div class="doc"><p>Information about the source revision control system for a package.</p><p>When specifying a repo it is useful to know the meaning or intention of the
information as doing so enables automation. There are two obvious common
purposes: one is to find the repo for the latest development version, the
other is to find the repo for this specific release. The <code>ReopKind</code>
specifies which one we mean (or another custom one).</p><p>A package can specify one or the other kind or both. Most will specify just
a head repo but some may want to specify a repo to reconstruct the sources
for this package release.</p><p>The required information is the <code><a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></code> which tells us if it's using
<code><a href="Distribution-PackageDescription.html#v:Darcs">Darcs</a></code>, <code><a href="Distribution-PackageDescription.html#v:Git">Git</a></code> for example. The <code><a href="Distribution-PackageDescription.html#v:repoLocation">repoLocation</a></code> and other details are
interpreted according to the repo type.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:SourceRepo" class="def">SourceRepo</a></td><td class="doc empty"> </td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:repoKind" class="def">repoKind</a> :: <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></dt><dd class="doc"><p>The kind of repo. This field is required.</p></dd><dt class="src"><a name="v:repoType" class="def">repoType</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></dt><dd class="doc"><p>The type of the source repository system for this repo, eg <code><a href="Distribution-PackageDescription.html#v:Darcs">Darcs</a></code> or
<code><a href="Distribution-PackageDescription.html#v:Git">Git</a></code>. This field is required.</p></dd><dt class="src"><a name="v:repoLocation" class="def">repoLocation</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></dt><dd class="doc"><p>The location of the repository. For most <code><a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></code>s this is a URL.
This field is required.</p></dd><dt class="src"><a name="v:repoModule" class="def">repoModule</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></dt><dd class="doc"><p><code><a href="Distribution-PackageDescription.html#v:CVS">CVS</a></code> can put multiple "modules" on one server and requires a
module name in addition to the location to identify a particular repo.
Logically this is part of the location but unfortunately has to be
specified separately. This field is required for the <code><a href="Distribution-PackageDescription.html#v:CVS">CVS</a></code> <code><a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></code> and
should not be given otherwise.</p></dd><dt class="src"><a name="v:repoBranch" class="def">repoBranch</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></dt><dd class="doc"><p>The name or identifier of the branch, if any. Many source control
systems have the notion of multiple branches in a repo that exist in the
same location. For example <code><a href="Distribution-PackageDescription.html#v:Git">Git</a></code> and <code><a href="Distribution-PackageDescription.html#v:CVS">CVS</a></code> use this while systems like
<code><a href="Distribution-PackageDescription.html#v:Darcs">Darcs</a></code> use different locations for different branches. This field is
optional but should be used if necessary to identify the sources,
especially for the <code><a href="Distribution-PackageDescription.html#v:RepoThis">RepoThis</a></code> repo kind.</p></dd><dt class="src"><a name="v:repoTag" class="def">repoTag</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></dt><dd class="doc"><p>The tag identify a particular state of the repository. This should be
given for the <code><a href="Distribution-PackageDescription.html#v:RepoThis">RepoThis</a></code> repo kind and not for <code><a href="Distribution-PackageDescription.html#v:RepoHead">RepoHead</a></code> kind.</p></dd><dt class="src"><a name="v:repoSubdir" class="def">repoSubdir</a> :: <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/System-IO.html#t:FilePath">FilePath</a></dt><dd class="doc"><p>Some repositories contain multiple projects in different subdirectories
This field specifies the subdirectory where this packages sources can be
found, eg the subdirectory containing the <code>.cabal</code> file. It is interpreted
relative to the root of the repository. This field is optional. If not
given the default is "." ie no subdirectory.</p></dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:SourceRepo" class="caption collapser" onclick="toggleSection('i:SourceRepo')">Instances</p><div id="section.i:SourceRepo" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><span class="keyword">type</span> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:RepoKind" class="def">RepoKind</a></p><div class="doc"><p>What this repo info is for, what it represents.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:RepoHead" class="def">RepoHead</a></td><td class="doc"><p>The repository for the "head" or development version of the project.
This repo is where we should track the latest development activity or
the usual repo people should get to contribute patches.</p></td></tr><tr><td class="src"><a name="v:RepoThis" class="def">RepoThis</a></td><td class="doc"><p>The repository containing the sources for this exact package version
or release. For this kind of repo a tag should be given to give enough
information to re-create the exact sources.</p></td></tr><tr><td class="src"><a name="v:RepoKindUnknown" class="def">RepoKindUnknown</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:RepoKind" class="caption collapser" onclick="toggleSection('i:RepoKind')">Instances</p><div id="section.i:RepoKind" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></td><td class="doc empty"> </td></tr><tr><td class="src"><span class="keyword">type</span> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:RepoKind">RepoKind</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:RepoType" class="def">RepoType</a></p><div class="doc"><p>An enumeration of common source control systems. The fields used in the
<code><a href="Distribution-PackageDescription.html#t:SourceRepo">SourceRepo</a></code> depend on the type of repo. The tools and methods used to
obtain and track the repo depend on the repo type.</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Darcs" class="def">Darcs</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Git" class="def">Git</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:SVN" class="def">SVN</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:CVS" class="def">CVS</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Mercurial" class="def">Mercurial</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:GnuArch" class="def">GnuArch</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Bazaar" class="def">Bazaar</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:Monotone" class="def">Monotone</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:OtherRepoType" class="def">OtherRepoType</a> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-String.html#t:String">String</a></td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:RepoType" class="caption collapser" onclick="toggleSection('i:RepoType')">Instances</p><div id="section.i:RepoType" class="show"><table><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Eq.html#t:Eq">Eq</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Data.html#t:Data">Data</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Ord.html#t:Ord">Ord</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Read.html#t:Read">Read</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/binary-0.7.2.3/Data-Binary.html#t:Binary">Binary</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Distribution-Text.html#t:Text">Text</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> * <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></td><td class="doc empty"> </td></tr><tr><td class="src"><span class="keyword">type</span> <a href="file:///usr/local/share/doc/ghc/html/libraries/base-4.8.0.0/GHC-Generics.html#t:Rep">Rep</a> <a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:knownRepoTypes" class="def">knownRepoTypes</a> :: [<a href="Distribution-PackageDescription.html#t:RepoType">RepoType</a>]</p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.0</p></div></body></html>