<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >PackageConfig</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ><SCRIPT TYPE="text/javascript" >window.onload = function () {setSynopsis("mini_PackageConfig.html")};</SCRIPT ></HEAD ><BODY ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topbar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " ></TD ><TD CLASS="title" >ghc-6.12.3: The GHC API</TD ><TD CLASS="topbut" ><A HREF="index.html" >Contents</A ></TD ><TD CLASS="topbut" ><A HREF="doc-index.html" >Index</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="modulebar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><FONT SIZE="6" >PackageConfig</FONT ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" ><B >Contents</B ></TD ></TR ><TR ><TD ><DL ><DT ><A HREF="#1" >PackageId </A ></DT ><DT ><A HREF="#2" >The PackageConfig type: information about a package </A ></DT ></DL ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Description</TD ></TR ><TR ><TD CLASS="doc" >Package configuration information: essentially the interface to Cabal, with some utilities </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Synopsis</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3AmkPackageId" >mkPackageId</A > :: <A HREF="PackageConfig.html#t%3APackageIdentifier" >PackageIdentifier</A > -> <A HREF="Module.html#t%3APackageId" >PackageId</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ApackageConfigId" >packageConfigId</A > :: <A HREF="PackageConfig.html#t%3APackageConfig" >PackageConfig</A > -> <A HREF="Module.html#t%3APackageId" >PackageId</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3APackageConfig" >PackageConfig</A > = <A HREF="PackageConfig.html#t%3AInstalledPackageInfo_" >InstalledPackageInfo_</A > <A HREF="Module.html#t%3AModuleName" >ModuleName</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AInstalledPackageInfo_" >InstalledPackageInfo_</A > m = <A HREF="#v%3AInstalledPackageInfo" >InstalledPackageInfo</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3AinstalledPackageId" >installedPackageId</A > :: <A HREF="../Cabal-1.8.0.6/Distribution-Package.html#t%3AInstalledPackageId" >InstalledPackageId</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AsourcePackageId" >sourcePackageId</A > :: <A HREF="../Cabal-1.8.0.6/Distribution-Package.html#t%3APackageId" >PackageId</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Alicense" >license</A > :: <A HREF="../Cabal-1.8.0.6/Distribution-License.html#t%3ALicense" >License</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Acopyright" >copyright</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Amaintainer" >maintainer</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Aauthor" >author</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Astability" >stability</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Ahomepage" >homepage</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3ApkgUrl" >pkgUrl</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Adescription" >description</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Acategory" >category</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Aexposed" >exposed</A > :: <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AexposedModules" >exposedModules</A > :: [m]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AhiddenModules" >hiddenModules</A > :: [m]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AimportDirs" >importDirs</A > :: [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AlibraryDirs" >libraryDirs</A > :: [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AhsLibraries" >hsLibraries</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AextraLibraries" >extraLibraries</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AextraGHCiLibraries" >extraGHCiLibraries</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AincludeDirs" >includeDirs</A > :: [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Aincludes" >includes</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Adepends" >depends</A > :: [<A HREF="../Cabal-1.8.0.6/Distribution-Package.html#t%3AInstalledPackageId" >InstalledPackageId</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AhugsOptions" >hugsOptions</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AccOptions" >ccOptions</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AldOptions" >ldOptions</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AframeworkDirs" >frameworkDirs</A > :: [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3Aframeworks" >frameworks</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AhaddockInterfaces" >haddockInterfaces</A > :: [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AhaddockHTMLs" >haddockHTMLs</A > :: [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A >]</TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Adisplay" >display</A > :: <A HREF="../Cabal-1.8.0.6/Distribution-Text.html#t%3AText" >Text</A > a => a -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AVersion" >Version</A > = <A HREF="#v%3AVersion" >Version</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3AversionBranch" >versionBranch</A > :: [<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >]</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3AversionTags" >versionTags</A > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3APackageIdentifier" >PackageIdentifier</A > = <A HREF="#v%3APackageIdentifier" >PackageIdentifier</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3ApkgName" >pkgName</A > :: <A HREF="../Cabal-1.8.0.6/Distribution-Package.html#t%3APackageName" >PackageName</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3ApkgVersion" >pkgVersion</A > :: <A HREF="PackageConfig.html#t%3AVersion" >Version</A ></TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AdefaultPackageConfig" >defaultPackageConfig</A > :: <A HREF="PackageConfig.html#t%3APackageConfig" >PackageConfig</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ApackageConfigToInstalledPackageInfo" >packageConfigToInstalledPackageInfo</A > :: <A HREF="PackageConfig.html#t%3APackageConfig" >PackageConfig</A > -> <A HREF="../Cabal-1.8.0.6/Distribution-InstalledPackageInfo.html#t%3AInstalledPackageInfo" >InstalledPackageInfo</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AinstalledPackageInfoToPackageConfig" >installedPackageInfoToPackageConfig</A > :: <A HREF="PackageConfig.html#t%3AInstalledPackageInfo_" >InstalledPackageInfo_</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="PackageConfig.html#t%3APackageConfig" >PackageConfig</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Documentation</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="doc" ><P ><A NAME="package_naming" ><A NAME="package_naming" ></A ></A > Mostly the compiler deals in terms of <TT ><A HREF="../Cabal-1.8.0.6/Distribution-Package.html#t%3APackageName" >PackageName</A ></TT >s, which don't have the version suffix. This is so that we don't need to know the version for the <TT >-package-name</TT > flag, or know the versions of wired-in packages like <TT >base</TT > & <TT >rts</TT >. Versions are confined to the package sub-system. </P ><P >This means that in theory you could have multiple base packages installed (for example), and switch between them using <TT >-package</TT >/<TT >-hide-package</TT >. </P ><P >A <TT ><A HREF="Module.html#t%3APackageId" >PackageId</A ></TT > is a string of the form <TT ><A HREF="pkg>-<version" >pkg>-<version</A ></TT >. </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="1" ><A NAME="1" >PackageId </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:mkPackageId" ><A NAME="v%3AmkPackageId" ></A ></A ><B >mkPackageId</B > :: <A HREF="PackageConfig.html#t%3APackageIdentifier" >PackageIdentifier</A > -> <A HREF="Module.html#t%3APackageId" >PackageId</A ></TD ></TR ><TR ><TD CLASS="doc" >Turn a Cabal <TT ><A HREF="PackageConfig.html#t%3APackageIdentifier" >PackageIdentifier</A ></TT > into a GHC <TT ><A HREF="Module.html#t%3APackageId" >PackageId</A ></TT > </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:packageConfigId" ><A NAME="v%3ApackageConfigId" ></A ></A ><B >packageConfigId</B > :: <A HREF="PackageConfig.html#t%3APackageConfig" >PackageConfig</A > -> <A HREF="Module.html#t%3APackageId" >PackageId</A ></TD ></TR ><TR ><TD CLASS="doc" >Get the GHC <TT ><A HREF="Module.html#t%3APackageId" >PackageId</A ></TT > right out of a Cabalish <TT ><A HREF="PackageConfig.html#t%3APackageConfig" >PackageConfig</A ></TT > </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="2" ><A NAME="2" >The PackageConfig type: information about a package </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:PackageConfig" ><A NAME="t%3APackageConfig" ></A ></A ><B >PackageConfig</B > = <A HREF="PackageConfig.html#t%3AInstalledPackageInfo_" >InstalledPackageInfo_</A > <A HREF="Module.html#t%3AModuleName" >ModuleName</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:InstalledPackageInfo_" ><A NAME="t%3AInstalledPackageInfo_" ></A ></A ><B >InstalledPackageInfo_</B > m </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:InstalledPackageInfo" ><A NAME="v%3AInstalledPackageInfo" ></A ></A ><B >InstalledPackageInfo</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:installedPackageId" ><A NAME="v%3AinstalledPackageId" ></A ></A ><B >installedPackageId</B > :: <A HREF="../Cabal-1.8.0.6/Distribution-Package.html#t%3AInstalledPackageId" >InstalledPackageId</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:sourcePackageId" ><A NAME="v%3AsourcePackageId" ></A ></A ><B >sourcePackageId</B > :: <A HREF="../Cabal-1.8.0.6/Distribution-Package.html#t%3APackageId" >PackageId</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:license" ><A NAME="v%3Alicense" ></A ></A ><B >license</B > :: <A HREF="../Cabal-1.8.0.6/Distribution-License.html#t%3ALicense" >License</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:copyright" ><A NAME="v%3Acopyright" ></A ></A ><B >copyright</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:maintainer" ><A NAME="v%3Amaintainer" ></A ></A ><B >maintainer</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:author" ><A NAME="v%3Aauthor" ></A ></A ><B >author</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:stability" ><A NAME="v%3Astability" ></A ></A ><B >stability</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:homepage" ><A NAME="v%3Ahomepage" ></A ></A ><B >homepage</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:pkgUrl" ><A NAME="v%3ApkgUrl" ></A ></A ><B >pkgUrl</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:description" ><A NAME="v%3Adescription" ></A ></A ><B >description</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:category" ><A NAME="v%3Acategory" ></A ></A ><B >category</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:exposed" ><A NAME="v%3Aexposed" ></A ></A ><B >exposed</B > :: <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:exposedModules" ><A NAME="v%3AexposedModules" ></A ></A ><B >exposedModules</B > :: [m]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:hiddenModules" ><A NAME="v%3AhiddenModules" ></A ></A ><B >hiddenModules</B > :: [m]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:importDirs" ><A NAME="v%3AimportDirs" ></A ></A ><B >importDirs</B > :: [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:libraryDirs" ><A NAME="v%3AlibraryDirs" ></A ></A ><B >libraryDirs</B > :: [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:hsLibraries" ><A NAME="v%3AhsLibraries" ></A ></A ><B >hsLibraries</B > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:extraLibraries" ><A NAME="v%3AextraLibraries" ></A ></A ><B >extraLibraries</B > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:extraGHCiLibraries" ><A NAME="v%3AextraGHCiLibraries" ></A ></A ><B >extraGHCiLibraries</B > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:includeDirs" ><A NAME="v%3AincludeDirs" ></A ></A ><B >includeDirs</B > :: [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:includes" ><A NAME="v%3Aincludes" ></A ></A ><B >includes</B > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:depends" ><A NAME="v%3Adepends" ></A ></A ><B >depends</B > :: [<A HREF="../Cabal-1.8.0.6/Distribution-Package.html#t%3AInstalledPackageId" >InstalledPackageId</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:hugsOptions" ><A NAME="v%3AhugsOptions" ></A ></A ><B >hugsOptions</B > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:ccOptions" ><A NAME="v%3AccOptions" ></A ></A ><B >ccOptions</B > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:ldOptions" ><A NAME="v%3AldOptions" ></A ></A ><B >ldOptions</B > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:frameworkDirs" ><A NAME="v%3AframeworkDirs" ></A ></A ><B >frameworkDirs</B > :: [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:frameworks" ><A NAME="v%3Aframeworks" ></A ></A ><B >frameworks</B > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:haddockInterfaces" ><A NAME="v%3AhaddockInterfaces" ></A ></A ><B >haddockInterfaces</B > :: [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:haddockHTMLs" ><A NAME="v%3AhaddockHTMLs" ></A ></A ><B >haddockHTMLs</B > :: [<A HREF="../base-4.2.0.2/System-IO.html#t%3AFilePath" >FilePath</A >]</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:InstalledPackageInfo_')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:InstalledPackageInfo_" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Text-Read.html#t%3ARead" >Read</A > m => <A HREF="../base-4.2.0.2/Text-Read.html#t%3ARead" >Read</A > (<A HREF="PackageConfig.html#t%3AInstalledPackageInfo_" >InstalledPackageInfo_</A > m)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > m => <A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > (<A HREF="PackageConfig.html#t%3AInstalledPackageInfo_" >InstalledPackageInfo_</A > m)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../Cabal-1.8.0.6/Distribution-Package.html#t%3APackage" >Package</A > (<A HREF="PackageConfig.html#t%3AInstalledPackageInfo_" >InstalledPackageInfo_</A > str)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../ghc-binary-0.5.0.2/Data-Binary.html#t%3ABinary" >Binary</A > m => <A HREF="../ghc-binary-0.5.0.2/Data-Binary.html#t%3ABinary" >Binary</A > (<A HREF="PackageConfig.html#t%3AInstalledPackageInfo_" >InstalledPackageInfo_</A > m)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:display" ><A NAME="v%3Adisplay" ></A ></A ><B >display</B > :: <A HREF="../Cabal-1.8.0.6/Distribution-Text.html#t%3AText" >Text</A > a => a -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Version" ><A NAME="t%3AVersion" ></A ></A ><B >Version</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >A <TT ><A HREF="PackageConfig.html#t%3AVersion" >Version</A ></TT > represents the version of a software entity. </P ><P >An instance of <TT ><A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A ></TT > is provided, which implements exact equality modulo reordering of the tags in the <TT ><A HREF="PackageConfig.html#v%3AversionTags" >versionTags</A ></TT > field. </P ><P >An instance of <TT ><A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A ></TT > is also provided, which gives lexicographic ordering on the <TT ><A HREF="PackageConfig.html#v%3AversionBranch" >versionBranch</A ></TT > fields (i.e. 2.1 > 2.0, 1.2.3 > 1.2.2, etc.). This is expected to be sufficient for many uses, but note that you may need to use a more specific ordering for your versioning scheme. For example, some versioning schemes may include pre-releases which have tags <TT >"pre1"</TT >, <TT >"pre2"</TT >, and so on, and these would need to be taken into account when determining ordering. In some cases, date ordering may be more appropriate, so the application would have to look for <TT >date</TT > tags in the <TT ><A HREF="PackageConfig.html#v%3AversionTags" >versionTags</A ></TT > field and compare those. The bottom line is, don't always assume that <TT ><A HREF="../base-4.2.0.2/Data-Ord.html#v%3Acompare" >compare</A ></TT > and other <TT ><A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A ></TT > operations are the right thing for every <TT ><A HREF="PackageConfig.html#t%3AVersion" >Version</A ></TT >. </P ><P >Similarly, concrete representations of versions may differ. One possible concrete representation is provided (see <TT ><A HREF="../base-4.2.0.2/Data-Version.html#v%3AshowVersion" >showVersion</A ></TT > and <TT ><A HREF="../base-4.2.0.2/Data-Version.html#v%3AparseVersion" >parseVersion</A ></TT >), but depending on the application a different concrete representation may be more appropriate. </P ></TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:Version" ><A NAME="v%3AVersion" ></A ></A ><B >Version</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:versionBranch" ><A NAME="v%3AversionBranch" ></A ></A ><B >versionBranch</B > :: [<A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A >]</TD ><TD CLASS="rdoc" ><P >The numeric branch for this version. This reflects the fact that most software versions are tree-structured; there is a main trunk which is tagged with versions at various points (1,2,3...), and the first branch off the trunk after version 3 is 3.1, the second branch off the trunk after version 3 is 3.2, and so on. The tree can be branched arbitrarily, just by adding more digits. </P ><P >We represent the branch as a list of <TT ><A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TT >, so version 3.2.1 becomes [3,2,1]. Lexicographic ordering (i.e. the default instance of <TT ><A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A ></TT > for <TT >[Int]</TT >) gives the natural ordering of branches. </P ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:versionTags" ><A NAME="v%3AversionTags" ></A ></A ><B >versionTags</B > :: [<A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A >]</TD ><TD CLASS="rdoc" >A version can be tagged with an arbitrary list of strings. The interpretation of the list of tags is entirely dependent on the entity that this version applies to. </TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Version')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Version" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="PackageConfig.html#t%3AVersion" >Version</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > <A HREF="PackageConfig.html#t%3AVersion" >Version</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Text-Read.html#t%3ARead" >Read</A > <A HREF="PackageConfig.html#t%3AVersion" >Version</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > <A HREF="PackageConfig.html#t%3AVersion" >Version</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Typeable.html#t%3ATypeable" >Typeable</A > <A HREF="PackageConfig.html#t%3AVersion" >Version</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../Cabal-1.8.0.6/Distribution-Text.html#t%3AText" >Text</A > <A HREF="PackageConfig.html#t%3AVersion" >Version</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../ghc-binary-0.5.0.2/Data-Binary.html#t%3ABinary" >Binary</A > <A HREF="PackageConfig.html#t%3AVersion" >Version</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:PackageIdentifier" ><A NAME="t%3APackageIdentifier" ></A ></A ><B >PackageIdentifier</B > </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >The name and version of a package. </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:PackageIdentifier" ><A NAME="v%3APackageIdentifier" ></A ></A ><B >PackageIdentifier</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:pkgName" ><A NAME="v%3ApkgName" ></A ></A ><B >pkgName</B > :: <A HREF="../Cabal-1.8.0.6/Distribution-Package.html#t%3APackageName" >PackageName</A ></TD ><TD CLASS="rdoc" >The name of this package, eg. foo </TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:pkgVersion" ><A NAME="v%3ApkgVersion" ></A ></A ><B >pkgVersion</B > :: <A HREF="PackageConfig.html#t%3AVersion" >Version</A ></TD ><TD CLASS="rdoc" >the version of this package, eg 1.2 </TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:PackageIdentifier')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:PackageIdentifier" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > <A HREF="PackageConfig.html#t%3APackageIdentifier" >PackageIdentifier</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > <A HREF="PackageConfig.html#t%3APackageIdentifier" >PackageIdentifier</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Text-Read.html#t%3ARead" >Read</A > <A HREF="PackageConfig.html#t%3APackageIdentifier" >PackageIdentifier</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > <A HREF="PackageConfig.html#t%3APackageIdentifier" >PackageIdentifier</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../Cabal-1.8.0.6/Distribution-Package.html#t%3APackage" >Package</A > <A HREF="PackageConfig.html#t%3APackageIdentifier" >PackageIdentifier</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../Cabal-1.8.0.6/Distribution-Text.html#t%3AText" >Text</A > <A HREF="PackageConfig.html#t%3APackageIdentifier" >PackageIdentifier</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../ghc-binary-0.5.0.2/Data-Binary.html#t%3ABinary" >Binary</A > <A HREF="PackageConfig.html#t%3APackageIdentifier" >PackageIdentifier</A ></TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:defaultPackageConfig" ><A NAME="v%3AdefaultPackageConfig" ></A ></A ><B >defaultPackageConfig</B > :: <A HREF="PackageConfig.html#t%3APackageConfig" >PackageConfig</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:packageConfigToInstalledPackageInfo" ><A NAME="v%3ApackageConfigToInstalledPackageInfo" ></A ></A ><B >packageConfigToInstalledPackageInfo</B > :: <A HREF="PackageConfig.html#t%3APackageConfig" >PackageConfig</A > -> <A HREF="../Cabal-1.8.0.6/Distribution-InstalledPackageInfo.html#t%3AInstalledPackageInfo" >InstalledPackageInfo</A ></TD ></TR ><TR ><TD CLASS="doc" >Turn a <TT ><A HREF="PackageConfig.html#t%3APackageConfig" >PackageConfig</A ></TT >, which contains GHC <TT ><A HREF="Module.html#t%3AModuleName" >ModuleName</A ></TT >s into a Cabal specific <TT ><A HREF="../Cabal-1.8.0.6/Distribution-InstalledPackageInfo.html#t%3AInstalledPackageInfo" >InstalledPackageInfo</A ></TT > which contains Cabal <TT ><A HREF="../Cabal-1.8.0.6/Distribution-ModuleName.html#t%3AModuleName" >ModuleName</A ></TT >s </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:installedPackageInfoToPackageConfig" ><A NAME="v%3AinstalledPackageInfoToPackageConfig" ></A ></A ><B >installedPackageInfoToPackageConfig</B > :: <A HREF="PackageConfig.html#t%3AInstalledPackageInfo_" >InstalledPackageInfo_</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="PackageConfig.html#t%3APackageConfig" >PackageConfig</A ></TD ></TR ><TR ><TD CLASS="doc" >Turn an <TT ><A HREF="../Cabal-1.8.0.6/Distribution-InstalledPackageInfo.html#t%3AInstalledPackageInfo" >InstalledPackageInfo</A ></TT >, which contains Cabal <TT ><A HREF="../Cabal-1.8.0.6/Distribution-ModuleName.html#t%3AModuleName" >ModuleName</A ></TT >s into a GHC specific <TT ><A HREF="PackageConfig.html#t%3APackageConfig" >PackageConfig</A ></TT > which contains GHC <TT ><A HREF="Module.html#t%3AModuleName" >ModuleName</A ></TT >s </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 2.6.1</TD ></TR ></TABLE ></BODY ></HTML >