Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 1f2b142b9d2ef4849a6f5316fa1c5b12 > files > 1969

ghc-6.10.4-1mdv2010.0.i586.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
>Module</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_Module.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"
>Module</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"
>The ModuleName type
</A
></DT
><DT
><A HREF="#2"
>The PackageId type
</A
></DT
><DT
><A HREF="#3"
>Wired-in PackageIds
</A
></DT
><DT
><A HREF="#4"
>The Module type
</A
></DT
><DT
><A HREF="#5"
>The ModuleLocation type
</A
></DT
><DT
><A HREF="#6"
>Module mappings
</A
></DT
><DT
><A HREF="#7"
>ModuleName mappings
</A
></DT
><DT
><A HREF="#8"
>Sets of Modules
</A
></DT
></DL
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></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"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AModuleName"
>ModuleName</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprModuleName"
>pprModuleName</A
> :: <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmoduleNameFS"
>moduleNameFS</A
> :: <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="FastString.html#t%3AFastString"
>FastString</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmoduleNameString"
>moduleNameString</A
> :: <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmoduleNameSlashes"
>moduleNameSlashes</A
> :: <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkModuleName"
>mkModuleName</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkModuleNameFS"
>mkModuleNameFS</A
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AstableModuleNameCmp"
>stableModuleNameCmp</A
> :: <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3APackageId"
>PackageId</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfsToPackageId"
>fsToPackageId</A
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</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%3ApackageIdFS"
>packageIdFS</A
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
> -&gt; <A HREF="FastString.html#t%3AFastString"
>FastString</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AstringToPackageId"
>stringToPackageId</A
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</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%3ApackageIdString"
>packageIdString</A
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AstablePackageIdCmp"
>stablePackageIdCmp</A
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
> -&gt; <A HREF="Module.html#t%3APackageId"
>PackageId</A
> -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AprimPackageId"
>primPackageId</A
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AintegerPackageId"
>integerPackageId</A
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AbasePackageId"
>basePackageId</A
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ArtsPackageId"
>rtsPackageId</A
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Ahaskell98PackageId"
>haskell98PackageId</A
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsybPackageId"
>sybPackageId</A
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AthPackageId"
>thPackageId</A
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdphSeqPackageId"
>dphSeqPackageId</A
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdphParPackageId"
>dphParPackageId</A
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmainPackageId"
>mainPackageId</A
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AModule"
>Module</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmodulePackageId"
>modulePackageId</A
> :: <A HREF="Module.html#t%3AModule"
>Module</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%3AmoduleName"
>moduleName</A
> :: <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApprModule"
>pprModule</A
> :: <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkModule"
>mkModule</A
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
> -&gt; <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="Module.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AstableModuleCmp"
>stableModuleCmp</A
> :: <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AModLocation"
>ModLocation</A
>  = <A HREF="#v%3AModLocation"
>ModLocation</A
> {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aml_hs_file"
>ml_hs_file</A
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aml_hi_file"
>ml_hi_file</A
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="recfield"
><A HREF="#v%3Aml_obj_file"
>ml_obj_file</A
> :: <A HREF="../base/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%3AaddBootSuffix"
>addBootSuffix</A
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AaddBootSuffix_maybe"
>addBootSuffix_maybe</A
> :: <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AaddBootSuffixLocn"
>addBootSuffixLocn</A
> :: <A HREF="Module.html#t%3AModLocation"
>ModLocation</A
> -&gt; <A HREF="Module.html#t%3AModLocation"
>ModLocation</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AModuleEnv"
>ModuleEnv</A
> elt = <A HREF="FiniteMap.html#t%3AFiniteMap"
>FiniteMap</A
> <A HREF="Module.html#t%3AModule"
>Module</A
> elt</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AelemModuleEnv"
>elemModuleEnv</A
> ::  <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AextendModuleEnv"
>extendModuleEnv</A
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; a -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AextendModuleEnvList"
>extendModuleEnvList</A
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; [(<A HREF="Module.html#t%3AModule"
>Module</A
>, a)] -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AextendModuleEnvList_C"
>extendModuleEnvList_C</A
> ::  (a -&gt; a -&gt; a) -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; [(<A HREF="Module.html#t%3AModule"
>Module</A
>, a)] -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AplusModuleEnv_C"
>plusModuleEnv_C</A
> ::  (a -&gt; a -&gt; a) -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdelModuleEnvList"
>delModuleEnvList</A
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; [<A HREF="Module.html#t%3AModule"
>Module</A
>] -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdelModuleEnv"
>delModuleEnv</A
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AplusModuleEnv"
>plusModuleEnv</A
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlookupModuleEnv"
>lookupModuleEnv</A
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlookupWithDefaultModuleEnv"
>lookupWithDefaultModuleEnv</A
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; a -&gt; <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmapModuleEnv"
>mapModuleEnv</A
> ::  (a -&gt; b) -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkModuleEnv"
>mkModuleEnv</A
> ::  [(<A HREF="Module.html#t%3AModule"
>Module</A
>, a)] -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AemptyModuleEnv"
>emptyModuleEnv</A
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmoduleEnvKeys"
>moduleEnvKeys</A
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; [<A HREF="Module.html#t%3AModule"
>Module</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmoduleEnvElts"
>moduleEnvElts</A
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; [a]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunitModuleEnv"
>unitModuleEnv</A
> ::  <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; a -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisEmptyModuleEnv"
>isEmptyModuleEnv</A
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfoldModuleEnv"
>foldModuleEnv</A
> ::  (a -&gt; b -&gt; b) -&gt; b -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AextendModuleEnv_C"
>extendModuleEnv_C</A
> ::  (a -&gt; a -&gt; a) -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; a -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfilterModuleEnv"
>filterModuleEnv</A
> ::  (a -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AModuleNameEnv"
>ModuleNameEnv</A
> elt = <A HREF="LazyUniqFM.html#t%3AUniqFM"
>UniqFM</A
> elt</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3AModuleSet"
>ModuleSet</A
> = <A HREF="FiniteMap.html#t%3AFiniteMap"
>FiniteMap</A
> <A HREF="Module.html#t%3AModule"
>Module</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AemptyModuleSet"
>emptyModuleSet</A
> :: <A HREF="Module.html#t%3AModuleSet"
>ModuleSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkModuleSet"
>mkModuleSet</A
> :: [<A HREF="Module.html#t%3AModule"
>Module</A
>] -&gt; <A HREF="Module.html#t%3AModuleSet"
>ModuleSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmoduleSetElts"
>moduleSetElts</A
> :: <A HREF="Module.html#t%3AModuleSet"
>ModuleSet</A
> -&gt; [<A HREF="Module.html#t%3AModule"
>Module</A
>]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AextendModuleSet"
>extendModuleSet</A
> :: <A HREF="Module.html#t%3AModuleSet"
>ModuleSet</A
> -&gt; <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; <A HREF="Module.html#t%3AModuleSet"
>ModuleSet</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AelemModuleSet"
>elemModuleSet</A
> :: <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; <A HREF="Module.html#t%3AModuleSet"
>ModuleSet</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
><A NAME="1"
>The ModuleName type
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ModuleName"
><A NAME="t%3AModuleName"
></A
></A
><B
>ModuleName</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A ModuleName is essentially a simple string, e.g. <TT
>Data.List</TT
>.
</TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ModuleName')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ModuleName" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Unique.html#t%3AUniquable"
>Uniquable</A
> <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Binary.html#t%3ABinary"
>Binary</A
> <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprModuleName"
><A NAME="v%3ApprModuleName"
></A
></A
><B
>pprModuleName</B
> :: <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:moduleNameFS"
><A NAME="v%3AmoduleNameFS"
></A
></A
><B
>moduleNameFS</B
> :: <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="FastString.html#t%3AFastString"
>FastString</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:moduleNameString"
><A NAME="v%3AmoduleNameString"
></A
></A
><B
>moduleNameString</B
> :: <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:moduleNameSlashes"
><A NAME="v%3AmoduleNameSlashes"
></A
></A
><B
>moduleNameSlashes</B
> :: <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="doc"
>Returns the string version of the module name, with dots replaced by slashes
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkModuleName"
><A NAME="v%3AmkModuleName"
></A
></A
><B
>mkModuleName</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkModuleNameFS"
><A NAME="v%3AmkModuleNameFS"
></A
></A
><B
>mkModuleNameFS</B
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:stableModuleNameCmp"
><A NAME="v%3AstableModuleNameCmp"
></A
></A
><B
>stableModuleNameCmp</B
> :: <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="doc"
>Compares module names lexically, rather than by their <TT
><A HREF="Unique.html#t%3AUnique"
>Unique</A
></TT
>s
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="2"
><A NAME="2"
>The PackageId type
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:PackageId"
><A NAME="t%3APackageId"
></A
></A
><B
>PackageId</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Essentially just a string identifying a package, including the version: e.g. parsec-1.0
</TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:PackageId')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:PackageId" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Unique.html#t%3AUniquable"
>Uniquable</A
> <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Binary.html#t%3ABinary"
>Binary</A
> <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:fsToPackageId"
><A NAME="v%3AfsToPackageId"
></A
></A
><B
>fsToPackageId</B
> :: <A HREF="FastString.html#t%3AFastString"
>FastString</A
> -&gt; <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:packageIdFS"
><A NAME="v%3ApackageIdFS"
></A
></A
><B
>packageIdFS</B
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
> -&gt; <A HREF="FastString.html#t%3AFastString"
>FastString</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:stringToPackageId"
><A NAME="v%3AstringToPackageId"
></A
></A
><B
>stringToPackageId</B
> :: <A HREF="../base/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:packageIdString"
><A NAME="v%3ApackageIdString"
></A
></A
><B
>packageIdString</B
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
> -&gt; <A HREF="../base/Data-Char.html#t%3AString"
>String</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:stablePackageIdCmp"
><A NAME="v%3AstablePackageIdCmp"
></A
></A
><B
>stablePackageIdCmp</B
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
> -&gt; <A HREF="Module.html#t%3APackageId"
>PackageId</A
> -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="doc"
>Compares package ids lexically, rather than by their <TT
><A HREF="Unique.html#t%3AUnique"
>Unique</A
></TT
>s
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="3"
><A NAME="3"
>Wired-in PackageIds
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Certain packages are known to the compiler, in that we know about certain
 entities that reside in these packages, and the compiler needs to 
 declare static Modules and Names that refer to these packages.  Hence
 the wired-in packages can't include version numbers, since we don't want
 to bake the version numbers of these packages into GHC.
</P
><P
>So here's the plan.  Wired-in packages are still versioned as
 normal in the packages database, and you can still have multiple
 versions of them installed.  However, for each invocation of GHC,
 only a single instance of each wired-in package will be recognised
 (the desired one is selected via <TT
>-package</TT
>/<TT
>-hide-package</TT
>), and GHC
 will use the unversioned <TT
><A HREF="Module.html#t%3APackageId"
>PackageId</A
></TT
> below when referring to it,
 including in .hi files and object file symbols.  Unselected
 versions of wired-in packages will be ignored, as will any other
 package that depends directly or indirectly on it (much as if you
 had used <TT
>-ignore-package</TT
>).
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:primPackageId"
><A NAME="v%3AprimPackageId"
></A
></A
><B
>primPackageId</B
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:integerPackageId"
><A NAME="v%3AintegerPackageId"
></A
></A
><B
>integerPackageId</B
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:basePackageId"
><A NAME="v%3AbasePackageId"
></A
></A
><B
>basePackageId</B
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:rtsPackageId"
><A NAME="v%3ArtsPackageId"
></A
></A
><B
>rtsPackageId</B
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:haskell98PackageId"
><A NAME="v%3Ahaskell98PackageId"
></A
></A
><B
>haskell98PackageId</B
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sybPackageId"
><A NAME="v%3AsybPackageId"
></A
></A
><B
>sybPackageId</B
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:thPackageId"
><A NAME="v%3AthPackageId"
></A
></A
><B
>thPackageId</B
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:dphSeqPackageId"
><A NAME="v%3AdphSeqPackageId"
></A
></A
><B
>dphSeqPackageId</B
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:dphParPackageId"
><A NAME="v%3AdphParPackageId"
></A
></A
><B
>dphParPackageId</B
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mainPackageId"
><A NAME="v%3AmainPackageId"
></A
></A
><B
>mainPackageId</B
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="4"
><A NAME="4"
>The Module type
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Module"
><A NAME="t%3AModule"
></A
></A
><B
>Module</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A Module is a pair of a <TT
><A HREF="Module.html#t%3APackageId"
>PackageId</A
></TT
> and a <TT
><A HREF="Module.html#t%3AModuleName"
>ModuleName</A
></TT
>.
</TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Module')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:Module" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Eq.html#t%3AEq"
>Eq</A
> <A HREF="Module.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Data-Ord.html#t%3AOrd"
>Ord</A
> <A HREF="Module.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="Module.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Unique.html#t%3AUniquable"
>Uniquable</A
> <A HREF="Module.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Binary.html#t%3ABinary"
>Binary</A
> <A HREF="Module.html#t%3AModule"
>Module</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:modulePackageId"
><A NAME="v%3AmodulePackageId"
></A
></A
><B
>modulePackageId</B
> :: <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; <A HREF="Module.html#t%3APackageId"
>PackageId</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:moduleName"
><A NAME="v%3AmoduleName"
></A
></A
><B
>moduleName</B
> :: <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:pprModule"
><A NAME="v%3ApprModule"
></A
></A
><B
>pprModule</B
> :: <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; <A HREF="Outputable.html#t%3ASDoc"
>SDoc</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkModule"
><A NAME="v%3AmkModule"
></A
></A
><B
>mkModule</B
> :: <A HREF="Module.html#t%3APackageId"
>PackageId</A
> -&gt; <A HREF="Module.html#t%3AModuleName"
>ModuleName</A
> -&gt; <A HREF="Module.html#t%3AModule"
>Module</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:stableModuleCmp"
><A NAME="v%3AstableModuleCmp"
></A
></A
><B
>stableModuleCmp</B
> :: <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; <A HREF="../ghc-prim/GHC-Ordering.html#t%3AOrdering"
>Ordering</A
></TD
></TR
><TR
><TD CLASS="doc"
>This gives a stable ordering, as opposed to the Ord instance which
 gives an ordering based on the <TT
><A HREF="Unique.html#t%3AUnique"
>Unique</A
></TT
>s of the components, which may
 not be stable from run to run of the compiler.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="5"
><A NAME="5"
>The ModuleLocation type
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ModLocation"
><A NAME="t%3AModLocation"
></A
></A
><B
>ModLocation</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Where a module lives on the file system: the actual locations
 of the .hs, .hi and .o files, if we have them
</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:ModLocation"
><A NAME="v%3AModLocation"
></A
></A
><B
>ModLocation</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:ml_hs_file"
><A NAME="v%3Aml_hs_file"
></A
></A
><B
>ml_hs_file</B
> :: <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ml_hi_file"
><A NAME="v%3Aml_hi_file"
></A
></A
><B
>ml_hi_file</B
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
><TD CLASS="rdoc"
></TD
></TR
><TR
><TD CLASS="arg"
><A NAME="v:ml_obj_file"
><A NAME="v%3Aml_obj_file"
></A
></A
><B
>ml_obj_file</B
> :: <A HREF="../base/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:ModLocation')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:ModLocation" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="../base/Text-Show.html#t%3AShow"
>Show</A
> <A HREF="Module.html#t%3AModLocation"
>ModLocation</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Outputable.html#t%3AOutputable"
>Outputable</A
> <A HREF="Module.html#t%3AModLocation"
>ModLocation</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:addBootSuffix"
><A NAME="v%3AaddBootSuffix"
></A
></A
><B
>addBootSuffix</B
> :: <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="doc"
>Add the <TT
>-boot</TT
> suffix to .hs, .hi and .o files
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:addBootSuffix_maybe"
><A NAME="v%3AaddBootSuffix_maybe"
></A
></A
><B
>addBootSuffix_maybe</B
> :: <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> -&gt; <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
> -&gt; <A HREF="../base/System-IO.html#t%3AFilePath"
>FilePath</A
></TD
></TR
><TR
><TD CLASS="doc"
>Add the <TT
>-boot</TT
> suffix if the <TT
>Bool</TT
> argument is <TT
>True</TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:addBootSuffixLocn"
><A NAME="v%3AaddBootSuffixLocn"
></A
></A
><B
>addBootSuffixLocn</B
> :: <A HREF="Module.html#t%3AModLocation"
>ModLocation</A
> -&gt; <A HREF="Module.html#t%3AModLocation"
>ModLocation</A
></TD
></TR
><TR
><TD CLASS="doc"
>Add the <TT
>-boot</TT
> suffix to all file paths associated with the module
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="6"
><A NAME="6"
>Module mappings
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:ModuleEnv"
><A NAME="t%3AModuleEnv"
></A
></A
><B
>ModuleEnv</B
> elt = <A HREF="FiniteMap.html#t%3AFiniteMap"
>FiniteMap</A
> <A HREF="Module.html#t%3AModule"
>Module</A
> elt</TD
></TR
><TR
><TD CLASS="doc"
><P
>This is the package Id for the current program.  It is the default
 package Id if you don't specify a package name.  We don't add this prefix
 to symbol names, since there can be only one main package per program.
</P
><P
>A map keyed off of <TT
><A HREF="Module.html#t%3AModule"
>Module</A
></TT
>s
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:elemModuleEnv"
><A NAME="v%3AelemModuleEnv"
></A
></A
><B
>elemModuleEnv</B
> ::  <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:extendModuleEnv"
><A NAME="v%3AextendModuleEnv"
></A
></A
><B
>extendModuleEnv</B
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; a -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:extendModuleEnvList"
><A NAME="v%3AextendModuleEnvList"
></A
></A
><B
>extendModuleEnvList</B
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; [(<A HREF="Module.html#t%3AModule"
>Module</A
>, a)] -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:extendModuleEnvList_C"
><A NAME="v%3AextendModuleEnvList_C"
></A
></A
><B
>extendModuleEnvList_C</B
> ::  (a -&gt; a -&gt; a) -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; [(<A HREF="Module.html#t%3AModule"
>Module</A
>, a)] -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:plusModuleEnv_C"
><A NAME="v%3AplusModuleEnv_C"
></A
></A
><B
>plusModuleEnv_C</B
> ::  (a -&gt; a -&gt; a) -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:delModuleEnvList"
><A NAME="v%3AdelModuleEnvList"
></A
></A
><B
>delModuleEnvList</B
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; [<A HREF="Module.html#t%3AModule"
>Module</A
>] -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:delModuleEnv"
><A NAME="v%3AdelModuleEnv"
></A
></A
><B
>delModuleEnv</B
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:plusModuleEnv"
><A NAME="v%3AplusModuleEnv"
></A
></A
><B
>plusModuleEnv</B
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:lookupModuleEnv"
><A NAME="v%3AlookupModuleEnv"
></A
></A
><B
>lookupModuleEnv</B
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; <A HREF="../base/Data-Maybe.html#t%3AMaybe"
>Maybe</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:lookupWithDefaultModuleEnv"
><A NAME="v%3AlookupWithDefaultModuleEnv"
></A
></A
><B
>lookupWithDefaultModuleEnv</B
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; a -&gt; <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mapModuleEnv"
><A NAME="v%3AmapModuleEnv"
></A
></A
><B
>mapModuleEnv</B
> ::  (a -&gt; b) -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> b</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkModuleEnv"
><A NAME="v%3AmkModuleEnv"
></A
></A
><B
>mkModuleEnv</B
> ::  [(<A HREF="Module.html#t%3AModule"
>Module</A
>, a)] -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:emptyModuleEnv"
><A NAME="v%3AemptyModuleEnv"
></A
></A
><B
>emptyModuleEnv</B
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:moduleEnvKeys"
><A NAME="v%3AmoduleEnvKeys"
></A
></A
><B
>moduleEnvKeys</B
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; [<A HREF="Module.html#t%3AModule"
>Module</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:moduleEnvElts"
><A NAME="v%3AmoduleEnvElts"
></A
></A
><B
>moduleEnvElts</B
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; [a]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unitModuleEnv"
><A NAME="v%3AunitModuleEnv"
></A
></A
><B
>unitModuleEnv</B
> ::  <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; a -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isEmptyModuleEnv"
><A NAME="v%3AisEmptyModuleEnv"
></A
></A
><B
>isEmptyModuleEnv</B
> ::  <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:foldModuleEnv"
><A NAME="v%3AfoldModuleEnv"
></A
></A
><B
>foldModuleEnv</B
> ::  (a -&gt; b -&gt; b) -&gt; b -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; b</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:extendModuleEnv_C"
><A NAME="v%3AextendModuleEnv_C"
></A
></A
><B
>extendModuleEnv_C</B
> ::  (a -&gt; a -&gt; a) -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; a -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:filterModuleEnv"
><A NAME="v%3AfilterModuleEnv"
></A
></A
><B
>filterModuleEnv</B
> ::  (a -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
>) -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a -&gt; <A HREF="Module.html#t%3AModuleEnv"
>ModuleEnv</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="7"
><A NAME="7"
>ModuleName mappings
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:ModuleNameEnv"
><A NAME="t%3AModuleNameEnv"
></A
></A
><B
>ModuleNameEnv</B
> elt = <A HREF="LazyUniqFM.html#t%3AUniqFM"
>UniqFM</A
> elt</TD
></TR
><TR
><TD CLASS="doc"
>A map keyed off of <TT
><A HREF="Module.html#t%3AModuleName"
>ModuleName</A
></TT
>s (actually, their <TT
><A HREF="Unique.html#t%3AUnique"
>Unique</A
></TT
>s)
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="8"
><A NAME="8"
>Sets of Modules
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:ModuleSet"
><A NAME="t%3AModuleSet"
></A
></A
><B
>ModuleSet</B
> = <A HREF="FiniteMap.html#t%3AFiniteMap"
>FiniteMap</A
> <A HREF="Module.html#t%3AModule"
>Module</A
> <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
>A set of <TT
><A HREF="Module.html#t%3AModule"
>Module</A
></TT
>s
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:emptyModuleSet"
><A NAME="v%3AemptyModuleSet"
></A
></A
><B
>emptyModuleSet</B
> :: <A HREF="Module.html#t%3AModuleSet"
>ModuleSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkModuleSet"
><A NAME="v%3AmkModuleSet"
></A
></A
><B
>mkModuleSet</B
> :: [<A HREF="Module.html#t%3AModule"
>Module</A
>] -&gt; <A HREF="Module.html#t%3AModuleSet"
>ModuleSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:moduleSetElts"
><A NAME="v%3AmoduleSetElts"
></A
></A
><B
>moduleSetElts</B
> :: <A HREF="Module.html#t%3AModuleSet"
>ModuleSet</A
> -&gt; [<A HREF="Module.html#t%3AModule"
>Module</A
>]</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:extendModuleSet"
><A NAME="v%3AextendModuleSet"
></A
></A
><B
>extendModuleSet</B
> :: <A HREF="Module.html#t%3AModuleSet"
>ModuleSet</A
> -&gt; <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; <A HREF="Module.html#t%3AModuleSet"
>ModuleSet</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:elemModuleSet"
><A NAME="v%3AelemModuleSet"
></A
></A
><B
>elemModuleSet</B
> :: <A HREF="Module.html#t%3AModule"
>Module</A
> -&gt; <A HREF="Module.html#t%3AModuleSet"
>ModuleSet</A
> -&gt; <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
></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
>