<!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.InstalledPackageInfo</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-InstalledPackageInfo.html");}; //]]> </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">Cabal-1.14.0: A framework for packaging Haskell software</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>portable</td></tr><tr><th>Maintainer</th><td>libraries@haskell.org</td></tr><tr><th>Safe Haskell</th><td>None</td></tr></table><p class="caption">Distribution.InstalledPackageInfo</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>This is the information about an <em>installed</em> package that is communicated to the <code>ghc-pkg</code> program in order to register a package. <code>ghc-pkg</code> now consumes this package format (as of version 6.4). This is specific to GHC at the moment. </p><p>The <code>.cabal</code> file format is for describing a package that is not yet installed. It has a lot of flexibility, like conditionals and dependency ranges. As such, that format is not at all suitable for describing a package that has already been built and installed. By the time we get to that stage, we have resolved all conditionals and resolved dependency version constraints to exact versions of dependent packages. So, this module defines the <code><a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></code> data structure that contains all the info we keep about an installed package. There is a parser and pretty printer. The textual format is rather simpler than the <code>.cabal</code> format: there are no sections, for example. </p></div></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:InstalledPackageInfo_" class="def">InstalledPackageInfo_</a> m </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:InstalledPackageInfo" class="def">InstalledPackageInfo</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:installedPackageId" class="def">installedPackageId</a> :: <a href="Distribution-Package.html#t:InstalledPackageId">InstalledPackageId</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:sourcePackageId" class="def">sourcePackageId</a> :: <a href="Distribution-Package.html#t:PackageId">PackageId</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:copyright" class="def">copyright</a> :: <a href="../base-4.5.1.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="../base-4.5.1.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="../base-4.5.1.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="../base-4.5.1.0/Data-String.html#t:String">String</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:homepage" class="def">homepage</a> :: <a href="../base-4.5.1.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="../base-4.5.1.0/Data-String.html#t:String">String</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:synopsis" class="def">synopsis</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:description" class="def">description</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:category" class="def">category</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:exposed" class="def">exposed</a> :: <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:exposedModules" class="def">exposedModules</a> :: [m]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:hiddenModules" class="def">hiddenModules</a> :: [m]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:trusted" class="def">trusted</a> :: <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></dt><dd class="doc empty"> </dd><dt class="src"><a name="v:importDirs" class="def">importDirs</a> :: [<a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:libraryDirs" class="def">libraryDirs</a> :: [<a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:hsLibraries" class="def">hsLibraries</a> :: [<a href="../base-4.5.1.0/Data-String.html#t:String">String</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:extraLibraries" class="def">extraLibraries</a> :: [<a href="../base-4.5.1.0/Data-String.html#t:String">String</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:extraGHCiLibraries" class="def">extraGHCiLibraries</a> :: [<a href="../base-4.5.1.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="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:includes" class="def">includes</a> :: [<a href="../base-4.5.1.0/Data-String.html#t:String">String</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:depends" class="def">depends</a> :: [<a href="Distribution-Package.html#t:InstalledPackageId">InstalledPackageId</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:hugsOptions" class="def">hugsOptions</a> :: [<a href="../base-4.5.1.0/Data-String.html#t:String">String</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:ccOptions" class="def">ccOptions</a> :: [<a href="../base-4.5.1.0/Data-String.html#t:String">String</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:ldOptions" class="def">ldOptions</a> :: [<a href="../base-4.5.1.0/Data-String.html#t:String">String</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:frameworkDirs" class="def">frameworkDirs</a> :: [<a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:frameworks" class="def">frameworks</a> :: [<a href="../base-4.5.1.0/Data-String.html#t:String">String</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:haddockInterfaces" class="def">haddockInterfaces</a> :: [<a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a>]</dt><dd class="doc empty"> </dd><dt class="src"><a name="v:haddockHTMLs" class="def">haddockHTMLs</a> :: [<a href="../base-4.5.1.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:InstalledPackageInfo_" class="caption collapser" onclick="toggleSection('i:InstalledPackageInfo_')">Instances</p><div id="section.i:InstalledPackageInfo_" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Text-Read.html#t:Read">Read</a> m => <a href="../base-4.5.1.0/Text-Read.html#t:Read">Read</a> (<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo_">InstalledPackageInfo_</a> m)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="../base-4.5.1.0/Text-Show.html#t:Show">Show</a> m => <a href="../base-4.5.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo_">InstalledPackageInfo_</a> m)</td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Distribution-Package.html#t:Package">Package</a> (<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo_">InstalledPackageInfo_</a> str)</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:InstalledPackageInfo" class="def">InstalledPackageInfo</a> = <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo_">InstalledPackageInfo_</a> <a href="Distribution-ModuleName.html#t:ModuleName">ModuleName</a></p></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:ParseResult" class="def">ParseResult</a> a </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ParseFailed" class="def">ParseFailed</a> <a href="Distribution-InstalledPackageInfo.html#t:PError">PError</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:ParseOk" class="def">ParseOk</a> [<a href="Distribution-InstalledPackageInfo.html#t:PWarning">PWarning</a>] a</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:ParseResult" class="caption collapser" onclick="toggleSection('i:ParseResult')">Instances</p><div id="section.i:ParseResult" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="../base-4.5.1.0/Text-Show.html#t:Show">Show</a> a => <a href="../base-4.5.1.0/Text-Show.html#t:Show">Show</a> (<a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> 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:PError" class="def">PError</a> </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:AmbigousParse" class="def">AmbigousParse</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> <a href="Distribution-ParseUtils.html#t:LineNo">LineNo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:NoParse" class="def">NoParse</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> <a href="Distribution-ParseUtils.html#t:LineNo">LineNo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:TabsError" class="def">TabsError</a> <a href="Distribution-ParseUtils.html#t:LineNo">LineNo</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a name="v:FromString" class="def">FromString</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> (<a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Distribution-ParseUtils.html#t:LineNo">LineNo</a>)</td><td class="doc empty"> </td></tr></table></div><div class="subs instances"><p id="control.i:PError" class="caption collapser" onclick="toggleSection('i:PError')">Instances</p><div id="section.i:PError" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-InstalledPackageInfo.html#t:PError">PError</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:PWarning" class="def">PWarning</a> </p><div class="subs instances"><p id="control.i:PWarning" class="caption collapser" onclick="toggleSection('i:PWarning')">Instances</p><div id="section.i:PWarning" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Distribution-InstalledPackageInfo.html#t:PWarning">PWarning</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:emptyInstalledPackageInfo" class="def">emptyInstalledPackageInfo</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo_">InstalledPackageInfo_</a> m</p></div><div class="top"><p class="src"><a name="v:parseInstalledPackageInfo" class="def">parseInstalledPackageInfo</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -> <a href="Distribution-InstalledPackageInfo.html#t:ParseResult">ParseResult</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a></p></div><div class="top"><p class="src"><a name="v:showInstalledPackageInfo" class="def">showInstalledPackageInfo</a> :: <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></p></div><div class="top"><p class="src"><a name="v:showInstalledPackageInfoField" class="def">showInstalledPackageInfoField</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -> <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a> -> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a>)</p></div><div class="top"><p class="src"><a name="v:fieldsInstalledPackageInfo" class="def">fieldsInstalledPackageInfo</a> :: [<a href="Distribution-ParseUtils.html#t:FieldDescr">FieldDescr</a> <a href="Distribution-InstalledPackageInfo.html#t:InstalledPackageInfo">InstalledPackageInfo</a>]</p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.11.0</p></div></body></html>