Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > da2ed07af0cf0f424d74f4cc6829a27c > files > 1025

ghc-ghc-devel-6.12.3-8.6.fc14.i686.rpm

<!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
> -&gt; <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
> -&gt; <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 =&gt; a -&gt; <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
> -&gt; <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
> -&gt; <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
> &amp; <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&gt;-&lt;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
> -&gt; <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
> -&gt; <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 =&gt; <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 =&gt; <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 =&gt; <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 =&gt; a -&gt; <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 &gt; 2.0, 1.2.3 &gt; 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
>&quot;pre1&quot;</TT
>, <TT
>&quot;pre2&quot;</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
> -&gt; <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
> -&gt; <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
>