<!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.10.4: 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="../Cabal/Distribution-Package.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" ><A HREF="#v%3AunpackPackageId" >unpackPackageId</A > :: <A HREF="Module.html#t%3APackageId" >PackageId</A > -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../Cabal/Distribution-Package.html#t%3APackageIdentifier" >PackageIdentifier</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="../Cabal/Distribution-InstalledPackageInfo.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" ><A HREF="../Cabal/Distribution-InstalledPackageInfo.html#t%3AInstalledPackageInfo_" >InstalledPackageInfo_</A > (<A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AInstalledPackageInfo" >InstalledPackageInfo</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Apackage" >package</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Alicense" >license</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Acopyright" >copyright</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Amaintainer" >maintainer</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Aauthor" >author</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Astability" >stability</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Ahomepage" >homepage</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3ApkgUrl" >pkgUrl</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Adescription" >description</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Acategory" >category</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Aexposed" >exposed</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AexposedModules" >exposedModules</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AhiddenModules" >hiddenModules</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AimportDirs" >importDirs</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AlibraryDirs" >libraryDirs</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AhsLibraries" >hsLibraries</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AextraLibraries" >extraLibraries</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AextraGHCiLibraries" >extraGHCiLibraries</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AincludeDirs" >includeDirs</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Aincludes" >includes</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Adepends" >depends</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AhugsOptions" >hugsOptions</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AccOptions" >ccOptions</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AldOptions" >ldOptions</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AframeworkDirs" >frameworkDirs</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Aframeworks" >frameworks</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AhaddockInterfaces" >haddockInterfaces</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AhaddockHTMLs" >haddockHTMLs</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../Cabal/Distribution-Text.html#v%3Adisplay" >display</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base/Data-Version.html#t%3AVersion" >Version</A > (<A HREF="../base/Data-Version.html#v%3AVersion" >Version</A >, <A HREF="../base/Data-Version.html#v%3AversionBranch" >versionBranch</A >, <A HREF="../base/Data-Version.html#v%3AversionTags" >versionTags</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../Cabal/Distribution-Package.html#t%3APackageIdentifier" >PackageIdentifier</A > (<A HREF="../Cabal/Distribution-Package.html#v%3APackageIdentifier" >PackageIdentifier</A >, <A HREF="../Cabal/Distribution-Package.html#v%3ApkgName" >pkgName</A >, <A HREF="../Cabal/Distribution-Package.html#v%3ApkgVersion" >pkgVersion</A >)</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/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="../Cabal/Distribution-InstalledPackageInfo.html#t%3AInstalledPackageInfo" >InstalledPackageInfo</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/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="../Cabal/Distribution-Package.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="../Cabal/Distribution-Package.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="decl" ><A NAME="v:unpackPackageId" ><A NAME="v%3AunpackPackageId" ></A ></A ><B >unpackPackageId</B > :: <A HREF="Module.html#t%3APackageId" >PackageId</A > -> <A HREF="../base/Data-Maybe.html#t%3AMaybe" >Maybe</A > <A HREF="../Cabal/Distribution-Package.html#t%3APackageIdentifier" >PackageIdentifier</A ></TD ></TR ><TR ><TD CLASS="doc" >Try and interpret a GHC <TT ><A HREF="Module.html#t%3APackageId" >PackageId</A ></TT > as a cabal PackageIdentifer. Returns <TT >Nothing</TT > if we could not parse it as such an object. </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="../Cabal/Distribution-InstalledPackageInfo.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" ><A HREF="../Cabal/Distribution-InstalledPackageInfo.html#t%3AInstalledPackageInfo_" >InstalledPackageInfo_</A > (<A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AInstalledPackageInfo" >InstalledPackageInfo</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Apackage" >package</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Alicense" >license</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Acopyright" >copyright</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Amaintainer" >maintainer</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Aauthor" >author</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Astability" >stability</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Ahomepage" >homepage</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3ApkgUrl" >pkgUrl</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Adescription" >description</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Acategory" >category</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Aexposed" >exposed</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AexposedModules" >exposedModules</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AhiddenModules" >hiddenModules</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AimportDirs" >importDirs</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AlibraryDirs" >libraryDirs</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AhsLibraries" >hsLibraries</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AextraLibraries" >extraLibraries</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AextraGHCiLibraries" >extraGHCiLibraries</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AincludeDirs" >includeDirs</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Aincludes" >includes</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Adepends" >depends</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AhugsOptions" >hugsOptions</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AccOptions" >ccOptions</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AldOptions" >ldOptions</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AframeworkDirs" >frameworkDirs</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3Aframeworks" >frameworks</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AhaddockInterfaces" >haddockInterfaces</A >, <A HREF="../Cabal/Distribution-InstalledPackageInfo.html#v%3AhaddockHTMLs" >haddockHTMLs</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../Cabal/Distribution-Text.html#v%3Adisplay" >display</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base/Data-Version.html#t%3AVersion" >Version</A > (<A HREF="../base/Data-Version.html#v%3AVersion" >Version</A >, <A HREF="../base/Data-Version.html#v%3AversionBranch" >versionBranch</A >, <A HREF="../base/Data-Version.html#v%3AversionTags" >versionTags</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../Cabal/Distribution-Package.html#t%3APackageIdentifier" >PackageIdentifier</A > (<A HREF="../Cabal/Distribution-Package.html#v%3APackageIdentifier" >PackageIdentifier</A >, <A HREF="../Cabal/Distribution-Package.html#v%3ApkgName" >pkgName</A >, <A HREF="../Cabal/Distribution-Package.html#v%3ApkgVersion" >pkgVersion</A >)</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/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/Distribution-InstalledPackageInfo.html#t%3AInstalledPackageInfo" >InstalledPackageInfo</A ></TT > which contains Cabal <TT ><A HREF="../Cabal/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="../Cabal/Distribution-InstalledPackageInfo.html#t%3AInstalledPackageInfo" >InstalledPackageInfo</A > -> <A HREF="PackageConfig.html#t%3APackageConfig" >PackageConfig</A ></TD ></TR ><TR ><TD CLASS="doc" >Turn an <TT ><A HREF="../Cabal/Distribution-InstalledPackageInfo.html#t%3AInstalledPackageInfo" >InstalledPackageInfo</A ></TT >, which contains Cabal <TT ><A HREF="../Cabal/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.4.2</TD ></TR ></TABLE ></BODY ></HTML >