Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-release > by-pkgid > 6e204a966e8c42d976f99a1700ce5f20 > files > 2951

ghc-7.4.2-4.mga5.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Module</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Module.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">ghc-7.4.2: The GHC API</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Safe Haskell</th><td>None</td></tr></table><p class="caption">Module</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">The ModuleName type
</a></li><li><a href="#g:2">The PackageId type
</a></li><li><a href="#g:3">Wired-in PackageIds
</a></li><li><a href="#g:4">The Module type
</a></li><li><a href="#g:5">The ModuleLocation type
</a></li><li><a href="#g:6">Module mappings
</a></li><li><a href="#g:7">ModuleName mappings
</a></li><li><a href="#g:8">Sets of Modules
</a></li></ul></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">data</span>  <a href="#t:ModuleName">ModuleName</a> </li><li class="src short"><a href="#v:pprModuleName">pprModuleName</a> :: <a href="Module.html#t:ModuleName">ModuleName</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:moduleNameFS">moduleNameFS</a> :: <a href="Module.html#t:ModuleName">ModuleName</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></li><li class="src short"><a href="#v:moduleNameString">moduleNameString</a> :: <a href="Module.html#t:ModuleName">ModuleName</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:moduleNameSlashes">moduleNameSlashes</a> :: <a href="Module.html#t:ModuleName">ModuleName</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:moduleNameColons">moduleNameColons</a> :: <a href="Module.html#t:ModuleName">ModuleName</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:mkModuleName">mkModuleName</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="Module.html#t:ModuleName">ModuleName</a></li><li class="src short"><a href="#v:mkModuleNameFS">mkModuleNameFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="Module.html#t:ModuleName">ModuleName</a></li><li class="src short"><a href="#v:stableModuleNameCmp">stableModuleNameCmp</a> :: <a href="Module.html#t:ModuleName">ModuleName</a> -&gt; <a href="Module.html#t:ModuleName">ModuleName</a> -&gt; <a href="../base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:PackageId">PackageId</a> </li><li class="src short"><a href="#v:fsToPackageId">fsToPackageId</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="Module.html#t:PackageId">PackageId</a></li><li class="src short"><a href="#v:packageIdFS">packageIdFS</a> :: <a href="Module.html#t:PackageId">PackageId</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></li><li class="src short"><a href="#v:stringToPackageId">stringToPackageId</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="Module.html#t:PackageId">PackageId</a></li><li class="src short"><a href="#v:packageIdString">packageIdString</a> :: <a href="Module.html#t:PackageId">PackageId</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:stablePackageIdCmp">stablePackageIdCmp</a> :: <a href="Module.html#t:PackageId">PackageId</a> -&gt; <a href="Module.html#t:PackageId">PackageId</a> -&gt; <a href="../base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a></li><li class="src short"><a href="#v:primPackageId">primPackageId</a> :: <a href="Module.html#t:PackageId">PackageId</a></li><li class="src short"><a href="#v:integerPackageId">integerPackageId</a> :: <a href="Module.html#t:PackageId">PackageId</a></li><li class="src short"><a href="#v:basePackageId">basePackageId</a> :: <a href="Module.html#t:PackageId">PackageId</a></li><li class="src short"><a href="#v:rtsPackageId">rtsPackageId</a> :: <a href="Module.html#t:PackageId">PackageId</a></li><li class="src short"><a href="#v:thPackageId">thPackageId</a> :: <a href="Module.html#t:PackageId">PackageId</a></li><li class="src short"><a href="#v:dphSeqPackageId">dphSeqPackageId</a> :: <a href="Module.html#t:PackageId">PackageId</a></li><li class="src short"><a href="#v:dphParPackageId">dphParPackageId</a> :: <a href="Module.html#t:PackageId">PackageId</a></li><li class="src short"><a href="#v:mainPackageId">mainPackageId</a> :: <a href="Module.html#t:PackageId">PackageId</a></li><li class="src short"><a href="#v:thisGhcPackageId">thisGhcPackageId</a> :: <a href="Module.html#t:PackageId">PackageId</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Module">Module</a> </li><li class="src short"><a href="#v:modulePackageId">modulePackageId</a> :: <a href="Module.html#t:Module">Module</a> -&gt; <a href="Module.html#t:PackageId">PackageId</a></li><li class="src short"><a href="#v:moduleName">moduleName</a> :: <a href="Module.html#t:Module">Module</a> -&gt; <a href="Module.html#t:ModuleName">ModuleName</a></li><li class="src short"><a href="#v:pprModule">pprModule</a> :: <a href="Module.html#t:Module">Module</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:mkModule">mkModule</a> :: <a href="Module.html#t:PackageId">PackageId</a> -&gt; <a href="Module.html#t:ModuleName">ModuleName</a> -&gt; <a href="Module.html#t:Module">Module</a></li><li class="src short"><a href="#v:stableModuleCmp">stableModuleCmp</a> :: <a href="Module.html#t:Module">Module</a> -&gt; <a href="Module.html#t:Module">Module</a> -&gt; <a href="../base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:ModLocation">ModLocation</a>  = <a href="#v:ModLocation">ModLocation</a> {<ul class="subs"><li><a href="#v:ml_hs_file">ml_hs_file</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ml_hi_file">ml_hi_file</a> :: <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a></li><li><a href="#v:ml_obj_file">ml_obj_file</a> :: <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a></li></ul>}</li><li class="src short"><a href="#v:addBootSuffix">addBootSuffix</a> :: <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:addBootSuffix_maybe">addBootSuffix_maybe</a> :: <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a></li><li class="src short"><a href="#v:addBootSuffixLocn">addBootSuffixLocn</a> :: <a href="Module.html#t:ModLocation">ModLocation</a> -&gt; <a href="Module.html#t:ModLocation">ModLocation</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:ModuleEnv">ModuleEnv</a> elt</li><li class="src short"><a href="#v:elemModuleEnv">elemModuleEnv</a> ::  <a href="Module.html#t:Module">Module</a> -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:extendModuleEnv">extendModuleEnv</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:Module">Module</a> -&gt; a -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</li><li class="src short"><a href="#v:extendModuleEnvList">extendModuleEnvList</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; [(<a href="Module.html#t:Module">Module</a>, a)] -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</li><li class="src short"><a href="#v:extendModuleEnvList_C">extendModuleEnvList_C</a> ::  (a -&gt; a -&gt; a) -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; [(<a href="Module.html#t:Module">Module</a>, a)] -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</li><li class="src short"><a href="#v:plusModuleEnv_C">plusModuleEnv_C</a> ::  (a -&gt; a -&gt; a) -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</li><li class="src short"><a href="#v:delModuleEnvList">delModuleEnvList</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; [<a href="Module.html#t:Module">Module</a>] -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</li><li class="src short"><a href="#v:delModuleEnv">delModuleEnv</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:Module">Module</a> -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</li><li class="src short"><a href="#v:plusModuleEnv">plusModuleEnv</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</li><li class="src short"><a href="#v:lookupModuleEnv">lookupModuleEnv</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:Module">Module</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</li><li class="src short"><a href="#v:lookupWithDefaultModuleEnv">lookupWithDefaultModuleEnv</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; a -&gt; <a href="Module.html#t:Module">Module</a> -&gt; a</li><li class="src short"><a href="#v:mapModuleEnv">mapModuleEnv</a> ::  (a -&gt; b) -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> b</li><li class="src short"><a href="#v:mkModuleEnv">mkModuleEnv</a> ::  [(<a href="Module.html#t:Module">Module</a>, a)] -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</li><li class="src short"><a href="#v:emptyModuleEnv">emptyModuleEnv</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</li><li class="src short"><a href="#v:moduleEnvKeys">moduleEnvKeys</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; [<a href="Module.html#t:Module">Module</a>]</li><li class="src short"><a href="#v:moduleEnvElts">moduleEnvElts</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; [a]</li><li class="src short"><a href="#v:moduleEnvToList">moduleEnvToList</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; [(<a href="Module.html#t:Module">Module</a>, a)]</li><li class="src short"><a href="#v:unitModuleEnv">unitModuleEnv</a> ::  <a href="Module.html#t:Module">Module</a> -&gt; a -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</li><li class="src short"><a href="#v:isEmptyModuleEnv">isEmptyModuleEnv</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:foldModuleEnv">foldModuleEnv</a> ::  (a -&gt; b -&gt; b) -&gt; b -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; b</li><li class="src short"><a href="#v:extendModuleEnvWith">extendModuleEnvWith</a> ::  (a -&gt; a -&gt; a) -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:Module">Module</a> -&gt; a -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</li><li class="src short"><a href="#v:filterModuleEnv">filterModuleEnv</a> ::  (<a href="Module.html#t:Module">Module</a> -&gt; a -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</li><li class="src short"><span class="keyword">type</span> <a href="#t:ModuleNameEnv">ModuleNameEnv</a> elt = <a href="UniqFM.html#t:UniqFM">UniqFM</a> elt</li><li class="src short"><span class="keyword">type</span> <a href="#t:ModuleSet">ModuleSet</a> = <a href="../containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Module.html#t:Module">Module</a> ()</li><li class="src short"><a href="#v:emptyModuleSet">emptyModuleSet</a> :: <a href="Module.html#t:ModuleSet">ModuleSet</a></li><li class="src short"><a href="#v:mkModuleSet">mkModuleSet</a> :: [<a href="Module.html#t:Module">Module</a>] -&gt; <a href="Module.html#t:ModuleSet">ModuleSet</a></li><li class="src short"><a href="#v:moduleSetElts">moduleSetElts</a> :: <a href="Module.html#t:ModuleSet">ModuleSet</a> -&gt; [<a href="Module.html#t:Module">Module</a>]</li><li class="src short"><a href="#v:extendModuleSet">extendModuleSet</a> :: <a href="Module.html#t:ModuleSet">ModuleSet</a> -&gt; <a href="Module.html#t:Module">Module</a> -&gt; <a href="Module.html#t:ModuleSet">ModuleSet</a></li><li class="src short"><a href="#v:elemModuleSet">elemModuleSet</a> :: <a href="Module.html#t:Module">Module</a> -&gt; <a href="Module.html#t:ModuleSet">ModuleSet</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul></div><div id="interface"><h1 id="g:1">The ModuleName type
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ModuleName" class="def">ModuleName</a>  </p><div class="doc"><p>A ModuleName is essentially a simple string, e.g. <code>Data.List</code>.
</p></div><div class="subs instances"><p id="control.i:ModuleName" class="caption collapser" onclick="toggleSection('i:ModuleName')">Instances</p><div id="section.i:ModuleName" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Module.html#t:ModuleName">ModuleName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> <a href="Module.html#t:ModuleName">ModuleName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Module.html#t:ModuleName">ModuleName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Module.html#t:ModuleName">ModuleName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="Module.html#t:ModuleName">ModuleName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Unique.html#t:Uniquable">Uniquable</a> <a href="Module.html#t:ModuleName">ModuleName</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Binary.html#t:Binary">Binary</a> <a href="Module.html#t:ModuleName">ModuleName</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:pprModuleName" class="def">pprModuleName</a> :: <a href="Module.html#t:ModuleName">ModuleName</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:moduleNameFS" class="def">moduleNameFS</a> :: <a href="Module.html#t:ModuleName">ModuleName</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></p></div><div class="top"><p class="src"><a name="v:moduleNameString" class="def">moduleNameString</a> :: <a href="Module.html#t:ModuleName">ModuleName</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></p></div><div class="top"><p class="src"><a name="v:moduleNameSlashes" class="def">moduleNameSlashes</a> :: <a href="Module.html#t:ModuleName">ModuleName</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></p><div class="doc"><p>Returns the string version of the module name, with dots replaced by slashes.
</p></div></div><div class="top"><p class="src"><a name="v:moduleNameColons" class="def">moduleNameColons</a> :: <a href="Module.html#t:ModuleName">ModuleName</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></p><div class="doc"><p>Returns the string version of the module name, with dots replaced by underscores.
</p></div></div><div class="top"><p class="src"><a name="v:mkModuleName" class="def">mkModuleName</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="Module.html#t:ModuleName">ModuleName</a></p></div><div class="top"><p class="src"><a name="v:mkModuleNameFS" class="def">mkModuleNameFS</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="Module.html#t:ModuleName">ModuleName</a></p></div><div class="top"><p class="src"><a name="v:stableModuleNameCmp" class="def">stableModuleNameCmp</a> :: <a href="Module.html#t:ModuleName">ModuleName</a> -&gt; <a href="Module.html#t:ModuleName">ModuleName</a> -&gt; <a href="../base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a></p><div class="doc"><p>Compares module names lexically, rather than by their <code><a href="Unique.html#t:Unique">Unique</a></code>s
</p></div></div><h1 id="g:2">The PackageId type
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:PackageId" class="def">PackageId</a>  </p><div class="doc"><p>Essentially just a string identifying a package, including the version: e.g. parsec-1.0
</p></div><div class="subs instances"><p id="control.i:PackageId" class="caption collapser" onclick="toggleSection('i:PackageId')">Instances</p><div id="section.i:PackageId" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Module.html#t:PackageId">PackageId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> <a href="Module.html#t:PackageId">PackageId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Module.html#t:PackageId">PackageId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Module.html#t:PackageId">PackageId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="Module.html#t:PackageId">PackageId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Unique.html#t:Uniquable">Uniquable</a> <a href="Module.html#t:PackageId">PackageId</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Binary.html#t:Binary">Binary</a> <a href="Module.html#t:PackageId">PackageId</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:fsToPackageId" class="def">fsToPackageId</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="Module.html#t:PackageId">PackageId</a></p></div><div class="top"><p class="src"><a name="v:packageIdFS" class="def">packageIdFS</a> :: <a href="Module.html#t:PackageId">PackageId</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></p></div><div class="top"><p class="src"><a name="v:stringToPackageId" class="def">stringToPackageId</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="Module.html#t:PackageId">PackageId</a></p></div><div class="top"><p class="src"><a name="v:packageIdString" class="def">packageIdString</a> :: <a href="Module.html#t:PackageId">PackageId</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></p></div><div class="top"><p class="src"><a name="v:stablePackageIdCmp" class="def">stablePackageIdCmp</a> :: <a href="Module.html#t:PackageId">PackageId</a> -&gt; <a href="Module.html#t:PackageId">PackageId</a> -&gt; <a href="../base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a></p><div class="doc"><p>Compares package ids lexically, rather than by their <code><a href="Unique.html#t:Unique">Unique</a></code>s
</p></div></div><h1 id="g:3">Wired-in PackageIds
</h1><div 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 <code>-package</code>/<code>-hide-package</code>), and GHC
 will use the unversioned <code><a href="Module.html#t:PackageId">PackageId</a></code> 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 <code>-ignore-package</code>).
</p></div><div class="top"><p class="src"><a name="v:primPackageId" class="def">primPackageId</a> :: <a href="Module.html#t:PackageId">PackageId</a></p></div><div class="top"><p class="src"><a name="v:integerPackageId" class="def">integerPackageId</a> :: <a href="Module.html#t:PackageId">PackageId</a></p></div><div class="top"><p class="src"><a name="v:basePackageId" class="def">basePackageId</a> :: <a href="Module.html#t:PackageId">PackageId</a></p></div><div class="top"><p class="src"><a name="v:rtsPackageId" class="def">rtsPackageId</a> :: <a href="Module.html#t:PackageId">PackageId</a></p></div><div class="top"><p class="src"><a name="v:thPackageId" class="def">thPackageId</a> :: <a href="Module.html#t:PackageId">PackageId</a></p></div><div class="top"><p class="src"><a name="v:dphSeqPackageId" class="def">dphSeqPackageId</a> :: <a href="Module.html#t:PackageId">PackageId</a></p></div><div class="top"><p class="src"><a name="v:dphParPackageId" class="def">dphParPackageId</a> :: <a href="Module.html#t:PackageId">PackageId</a></p></div><div class="top"><p class="src"><a name="v:mainPackageId" class="def">mainPackageId</a> :: <a href="Module.html#t:PackageId">PackageId</a></p><div 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></div></div><div class="top"><p class="src"><a name="v:thisGhcPackageId" class="def">thisGhcPackageId</a> :: <a href="Module.html#t:PackageId">PackageId</a></p></div><h1 id="g:4">The Module type
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Module" class="def">Module</a>  </p><div class="doc"><p>A Module is a pair of a <code><a href="Module.html#t:PackageId">PackageId</a></code> and a <code><a href="Module.html#t:ModuleName">ModuleName</a></code>.
</p></div><div class="subs instances"><p id="control.i:Module" class="caption collapser" onclick="toggleSection('i:Module')">Instances</p><div id="section.i:Module" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Module.html#t:Module">Module</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Data.html#t:Data">Data</a> <a href="Module.html#t:Module">Module</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Module.html#t:Module">Module</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="Module.html#t:Module">Module</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="Module.html#t:Module">Module</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Unique.html#t:Uniquable">Uniquable</a> <a href="Module.html#t:Module">Module</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Binary.html#t:Binary">Binary</a> <a href="Module.html#t:Module">Module</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:modulePackageId" class="def">modulePackageId</a> :: <a href="Module.html#t:Module">Module</a> -&gt; <a href="Module.html#t:PackageId">PackageId</a></p></div><div class="top"><p class="src"><a name="v:moduleName" class="def">moduleName</a> :: <a href="Module.html#t:Module">Module</a> -&gt; <a href="Module.html#t:ModuleName">ModuleName</a></p></div><div class="top"><p class="src"><a name="v:pprModule" class="def">pprModule</a> :: <a href="Module.html#t:Module">Module</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:mkModule" class="def">mkModule</a> :: <a href="Module.html#t:PackageId">PackageId</a> -&gt; <a href="Module.html#t:ModuleName">ModuleName</a> -&gt; <a href="Module.html#t:Module">Module</a></p></div><div class="top"><p class="src"><a name="v:stableModuleCmp" class="def">stableModuleCmp</a> :: <a href="Module.html#t:Module">Module</a> -&gt; <a href="Module.html#t:Module">Module</a> -&gt; <a href="../base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a></p><div class="doc"><p>This gives a stable ordering, as opposed to the Ord instance which
 gives an ordering based on the <code><a href="Unique.html#t:Unique">Unique</a></code>s of the components, which may
 not be stable from run to run of the compiler.
</p></div></div><h1 id="g:5">The ModuleLocation type
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ModLocation" class="def">ModLocation</a>  </p><div class="doc"><p>Where a module lives on the file system: the actual locations
 of the .hs, .hi and .o files, if we have them
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:ModLocation" class="def">ModLocation</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><div class="subs fields"><p class="caption">Fields</p><dl><dt class="src"><a name="v:ml_hs_file" class="def">ml_hs_file</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:ml_hi_file" class="def">ml_hi_file</a> :: <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:ml_obj_file" class="def">ml_obj_file</a> :: <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div><div class="subs instances"><p id="control.i:ModLocation" class="caption collapser" onclick="toggleSection('i:ModLocation')">Instances</p><div id="section.i:ModLocation" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="Module.html#t:ModLocation">ModLocation</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="Module.html#t:ModLocation">ModLocation</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:addBootSuffix" class="def">addBootSuffix</a> :: <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a></p><div class="doc"><p>Add the <code>-boot</code> suffix to .hs, .hi and .o files
</p></div></div><div class="top"><p class="src"><a name="v:addBootSuffix_maybe" class="def">addBootSuffix_maybe</a> :: <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a></p><div class="doc"><p>Add the <code>-boot</code> suffix if the <code>Bool</code> argument is <code>True</code>
</p></div></div><div class="top"><p class="src"><a name="v:addBootSuffixLocn" class="def">addBootSuffixLocn</a> :: <a href="Module.html#t:ModLocation">ModLocation</a> -&gt; <a href="Module.html#t:ModLocation">ModLocation</a></p><div class="doc"><p>Add the <code>-boot</code> suffix to all file paths associated with the module
</p></div></div><h1 id="g:6">Module mappings
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ModuleEnv" class="def">ModuleEnv</a> elt </p><div class="doc"><p>A map keyed off of <code><a href="Module.html#t:Module">Module</a></code>s
</p></div></div><div class="top"><p class="src"><a name="v:elemModuleEnv" class="def">elemModuleEnv</a> ::  <a href="Module.html#t:Module">Module</a> -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:extendModuleEnv" class="def">extendModuleEnv</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:Module">Module</a> -&gt; a -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</p></div><div class="top"><p class="src"><a name="v:extendModuleEnvList" class="def">extendModuleEnvList</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; [(<a href="Module.html#t:Module">Module</a>, a)] -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</p></div><div class="top"><p class="src"><a name="v:extendModuleEnvList_C" class="def">extendModuleEnvList_C</a> ::  (a -&gt; a -&gt; a) -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; [(<a href="Module.html#t:Module">Module</a>, a)] -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</p></div><div class="top"><p class="src"><a name="v:plusModuleEnv_C" class="def">plusModuleEnv_C</a> ::  (a -&gt; a -&gt; a) -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</p></div><div class="top"><p class="src"><a name="v:delModuleEnvList" class="def">delModuleEnvList</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; [<a href="Module.html#t:Module">Module</a>] -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</p></div><div class="top"><p class="src"><a name="v:delModuleEnv" class="def">delModuleEnv</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:Module">Module</a> -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</p></div><div class="top"><p class="src"><a name="v:plusModuleEnv" class="def">plusModuleEnv</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</p></div><div class="top"><p class="src"><a name="v:lookupModuleEnv" class="def">lookupModuleEnv</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:Module">Module</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> a</p></div><div class="top"><p class="src"><a name="v:lookupWithDefaultModuleEnv" class="def">lookupWithDefaultModuleEnv</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; a -&gt; <a href="Module.html#t:Module">Module</a> -&gt; a</p></div><div class="top"><p class="src"><a name="v:mapModuleEnv" class="def">mapModuleEnv</a> ::  (a -&gt; b) -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> b</p></div><div class="top"><p class="src"><a name="v:mkModuleEnv" class="def">mkModuleEnv</a> ::  [(<a href="Module.html#t:Module">Module</a>, a)] -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</p></div><div class="top"><p class="src"><a name="v:emptyModuleEnv" class="def">emptyModuleEnv</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</p></div><div class="top"><p class="src"><a name="v:moduleEnvKeys" class="def">moduleEnvKeys</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; [<a href="Module.html#t:Module">Module</a>]</p></div><div class="top"><p class="src"><a name="v:moduleEnvElts" class="def">moduleEnvElts</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; [a]</p></div><div class="top"><p class="src"><a name="v:moduleEnvToList" class="def">moduleEnvToList</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; [(<a href="Module.html#t:Module">Module</a>, a)]</p></div><div class="top"><p class="src"><a name="v:unitModuleEnv" class="def">unitModuleEnv</a> ::  <a href="Module.html#t:Module">Module</a> -&gt; a -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</p></div><div class="top"><p class="src"><a name="v:isEmptyModuleEnv" class="def">isEmptyModuleEnv</a> ::  <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><div class="top"><p class="src"><a name="v:foldModuleEnv" class="def">foldModuleEnv</a> ::  (a -&gt; b -&gt; b) -&gt; b -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; b</p></div><div class="top"><p class="src"><a name="v:extendModuleEnvWith" class="def">extendModuleEnvWith</a> ::  (a -&gt; a -&gt; a) -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:Module">Module</a> -&gt; a -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</p></div><div class="top"><p class="src"><a name="v:filterModuleEnv" class="def">filterModuleEnv</a> ::  (<a href="Module.html#t:Module">Module</a> -&gt; a -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a -&gt; <a href="Module.html#t:ModuleEnv">ModuleEnv</a> a</p></div><h1 id="g:7">ModuleName mappings
</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:ModuleNameEnv" class="def">ModuleNameEnv</a> elt = <a href="UniqFM.html#t:UniqFM">UniqFM</a> elt</p><div class="doc"><p>A map keyed off of <code><a href="Module.html#t:ModuleName">ModuleName</a></code>s (actually, their <code><a href="Unique.html#t:Unique">Unique</a></code>s)
</p></div></div><h1 id="g:8">Sets of Modules
</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:ModuleSet" class="def">ModuleSet</a> = <a href="../containers-0.4.2.1/Data-Map.html#t:Map">Map</a> <a href="Module.html#t:Module">Module</a> ()</p><div class="doc"><p>A set of <code><a href="Module.html#t:Module">Module</a></code>s
</p></div></div><div class="top"><p class="src"><a name="v:emptyModuleSet" class="def">emptyModuleSet</a> :: <a href="Module.html#t:ModuleSet">ModuleSet</a></p></div><div class="top"><p class="src"><a name="v:mkModuleSet" class="def">mkModuleSet</a> :: [<a href="Module.html#t:Module">Module</a>] -&gt; <a href="Module.html#t:ModuleSet">ModuleSet</a></p></div><div class="top"><p class="src"><a name="v:moduleSetElts" class="def">moduleSetElts</a> :: <a href="Module.html#t:ModuleSet">ModuleSet</a> -&gt; [<a href="Module.html#t:Module">Module</a>]</p></div><div class="top"><p class="src"><a name="v:extendModuleSet" class="def">extendModuleSet</a> :: <a href="Module.html#t:ModuleSet">ModuleSet</a> -&gt; <a href="Module.html#t:Module">Module</a> -&gt; <a href="Module.html#t:ModuleSet">ModuleSet</a></p></div><div class="top"><p class="src"><a name="v:elemModuleSet" class="def">elemModuleSet</a> :: <a href="Module.html#t:Module">Module</a> -&gt; <a href="Module.html#t:ModuleSet">ModuleSet</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.11.0</p></div></body></html>