<!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>LoadIface</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_LoadIface.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">LoadIface</p></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"><a href="#v:loadModuleInterface">loadModuleInterface</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -> <a href="Module.html#t:Module">Module</a> -> <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="HscTypes.html#t:ModIface">ModIface</a></li><li class="src short"><a href="#v:loadModuleInterfaces">loadModuleInterfaces</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -> [<a href="Module.html#t:Module">Module</a>] -> <a href="TcRnTypes.html#t:TcM">TcM</a> ()</li><li class="src short"><a href="#v:loadSrcInterface">loadSrcInterface</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -> <a href="Module.html#t:ModuleName">ModuleName</a> -> <a href="HscTypes.html#t:IsBootInterface">IsBootInterface</a> -> <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="FastString.html#t:FastString">FastString</a> -> <a href="TcRnTypes.html#t:RnM">RnM</a> <a href="HscTypes.html#t:ModIface">ModIface</a></li><li class="src short"><a href="#v:loadInterfaceForName">loadInterfaceForName</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -> <a href="Name.html#t:Name">Name</a> -> <a href="TcRnTypes.html#t:TcRn">TcRn</a> <a href="HscTypes.html#t:ModIface">ModIface</a></li><li class="src short"><a href="#v:loadInterface">loadInterface</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -> <a href="Module.html#t:Module">Module</a> -> <a href="TcRnTypes.html#t:WhereFrom">WhereFrom</a> -> <a href="TcRnTypes.html#t:IfM">IfM</a> lcl (<a href="Maybes.html#t:MaybeErr">MaybeErr</a> <a href="ErrUtils.html#t:Message">Message</a> <a href="HscTypes.html#t:ModIface">ModIface</a>)</li><li class="src short"><a href="#v:loadWiredInHomeIface">loadWiredInHomeIface</a> :: <a href="Name.html#t:Name">Name</a> -> <a href="TcRnTypes.html#t:IfM">IfM</a> lcl ()</li><li class="src short"><a href="#v:loadSysInterface">loadSysInterface</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -> <a href="Module.html#t:Module">Module</a> -> <a href="TcRnTypes.html#t:IfM">IfM</a> lcl <a href="HscTypes.html#t:ModIface">ModIface</a></li><li class="src short"><a href="#v:loadUserInterface">loadUserInterface</a> :: <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Outputable.html#t:SDoc">SDoc</a> -> <a href="Module.html#t:Module">Module</a> -> <a href="TcRnTypes.html#t:IfM">IfM</a> lcl <a href="HscTypes.html#t:ModIface">ModIface</a></li><li class="src short"><a href="#v:findAndReadIface">findAndReadIface</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -> <a href="Module.html#t:Module">Module</a> -> <a href="HscTypes.html#t:IsBootInterface">IsBootInterface</a> -> <a href="TcRnTypes.html#t:TcRnIf">TcRnIf</a> gbl lcl (<a href="Maybes.html#t:MaybeErr">MaybeErr</a> <a href="ErrUtils.html#t:Message">Message</a> (<a href="HscTypes.html#t:ModIface">ModIface</a>, <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a>))</li><li class="src short"><a href="#v:readIface">readIface</a> :: <a href="Module.html#t:Module">Module</a> -> <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="HscTypes.html#t:IsBootInterface">IsBootInterface</a> -> <a href="TcRnTypes.html#t:TcRnIf">TcRnIf</a> gbl lcl (<a href="Maybes.html#t:MaybeErr">MaybeErr</a> <a href="ErrUtils.html#t:Message">Message</a> <a href="HscTypes.html#t:ModIface">ModIface</a>)</li><li class="src short"><a href="#v:loadDecls">loadDecls</a> :: <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -> [(<a href="Fingerprint.html#t:Fingerprint">Fingerprint</a>, <a href="IfaceSyn.html#t:IfaceDecl">IfaceDecl</a>)] -> <a href="TcRnTypes.html#t:IfL">IfL</a> [(<a href="Name.html#t:Name">Name</a>, <a href="Type.html#t:TyThing">TyThing</a>)]</li><li class="src short"><a href="#v:initExternalPackageState">initExternalPackageState</a> :: <a href="HscTypes.html#t:ExternalPackageState">ExternalPackageState</a></li><li class="src short"><a href="#v:ifaceStats">ifaceStats</a> :: <a href="HscTypes.html#t:ExternalPackageState">ExternalPackageState</a> -> <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:pprModIface">pprModIface</a> :: <a href="HscTypes.html#t:ModIface">ModIface</a> -> <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:showIface">showIface</a> :: <a href="HscTypes.html#t:HscEnv">HscEnv</a> -> <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:loadModuleInterface" class="def">loadModuleInterface</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -> <a href="Module.html#t:Module">Module</a> -> <a href="TcRnTypes.html#t:TcM">TcM</a> <a href="HscTypes.html#t:ModIface">ModIface</a></p><div class="doc"><p>Load interface for a module. </p></div></div><div class="top"><p class="src"><a name="v:loadModuleInterfaces" class="def">loadModuleInterfaces</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -> [<a href="Module.html#t:Module">Module</a>] -> <a href="TcRnTypes.html#t:TcM">TcM</a> ()</p><div class="doc"><p>Load interfaces for a collection of modules. </p></div></div><div class="top"><p class="src"><a name="v:loadSrcInterface" class="def">loadSrcInterface</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -> <a href="Module.html#t:ModuleName">ModuleName</a> -> <a href="HscTypes.html#t:IsBootInterface">IsBootInterface</a> -> <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="FastString.html#t:FastString">FastString</a> -> <a href="TcRnTypes.html#t:RnM">RnM</a> <a href="HscTypes.html#t:ModIface">ModIface</a></p><div class="doc"><p>Load the interface corresponding to an <code>import</code> directive in source code. On a failure, fail in the monad with an error message. </p></div></div><div class="top"><p class="src"><a name="v:loadInterfaceForName" class="def">loadInterfaceForName</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -> <a href="Name.html#t:Name">Name</a> -> <a href="TcRnTypes.html#t:TcRn">TcRn</a> <a href="HscTypes.html#t:ModIface">ModIface</a></p><div class="doc"><p>Loads the interface for a given Name. </p></div></div><div class="top"><p class="src"><a name="v:loadInterface" class="def">loadInterface</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -> <a href="Module.html#t:Module">Module</a> -> <a href="TcRnTypes.html#t:WhereFrom">WhereFrom</a> -> <a href="TcRnTypes.html#t:IfM">IfM</a> lcl (<a href="Maybes.html#t:MaybeErr">MaybeErr</a> <a href="ErrUtils.html#t:Message">Message</a> <a href="HscTypes.html#t:ModIface">ModIface</a>)</p></div><div class="top"><p class="src"><a name="v:loadWiredInHomeIface" class="def">loadWiredInHomeIface</a> :: <a href="Name.html#t:Name">Name</a> -> <a href="TcRnTypes.html#t:IfM">IfM</a> lcl ()</p><div class="doc"><p>An <code><a href="TcRnTypes.html#t:IfM">IfM</a></code> function to load the home interface for a wired-in thing, so that we're sure that we see its instance declarations and rules See Note [Loading instances for wired-in things] in TcIface </p></div></div><div class="top"><p class="src"><a name="v:loadSysInterface" class="def">loadSysInterface</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -> <a href="Module.html#t:Module">Module</a> -> <a href="TcRnTypes.html#t:IfM">IfM</a> lcl <a href="HscTypes.html#t:ModIface">ModIface</a></p><div class="doc"><p>Loads a system interface and throws an exception if it fails </p></div></div><div class="top"><p class="src"><a name="v:loadUserInterface" class="def">loadUserInterface</a> :: <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -> <a href="Outputable.html#t:SDoc">SDoc</a> -> <a href="Module.html#t:Module">Module</a> -> <a href="TcRnTypes.html#t:IfM">IfM</a> lcl <a href="HscTypes.html#t:ModIface">ModIface</a></p><div class="doc"><p>Loads a user interface and throws an exception if it fails. The first parameter indicates whether we should import the boot variant of the module </p></div></div><div class="top"><p class="src"><a name="v:findAndReadIface" class="def">findAndReadIface</a> :: <a href="Outputable.html#t:SDoc">SDoc</a> -> <a href="Module.html#t:Module">Module</a> -> <a href="HscTypes.html#t:IsBootInterface">IsBootInterface</a> -> <a href="TcRnTypes.html#t:TcRnIf">TcRnIf</a> gbl lcl (<a href="Maybes.html#t:MaybeErr">MaybeErr</a> <a href="ErrUtils.html#t:Message">Message</a> (<a href="HscTypes.html#t:ModIface">ModIface</a>, <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a>))</p></div><div class="top"><p class="src"><a name="v:readIface" class="def">readIface</a> :: <a href="Module.html#t:Module">Module</a> -> <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="HscTypes.html#t:IsBootInterface">IsBootInterface</a> -> <a href="TcRnTypes.html#t:TcRnIf">TcRnIf</a> gbl lcl (<a href="Maybes.html#t:MaybeErr">MaybeErr</a> <a href="ErrUtils.html#t:Message">Message</a> <a href="HscTypes.html#t:ModIface">ModIface</a>)</p></div><div class="top"><p class="src"><a name="v:loadDecls" class="def">loadDecls</a> :: <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -> [(<a href="Fingerprint.html#t:Fingerprint">Fingerprint</a>, <a href="IfaceSyn.html#t:IfaceDecl">IfaceDecl</a>)] -> <a href="TcRnTypes.html#t:IfL">IfL</a> [(<a href="Name.html#t:Name">Name</a>, <a href="Type.html#t:TyThing">TyThing</a>)]</p></div><div class="top"><p class="src"><a name="v:initExternalPackageState" class="def">initExternalPackageState</a> :: <a href="HscTypes.html#t:ExternalPackageState">ExternalPackageState</a></p></div><div class="top"><p class="src"><a name="v:ifaceStats" class="def">ifaceStats</a> :: <a href="HscTypes.html#t:ExternalPackageState">ExternalPackageState</a> -> <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:pprModIface" class="def">pprModIface</a> :: <a href="HscTypes.html#t:ModIface">ModIface</a> -> <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:showIface" class="def">showIface</a> :: <a href="HscTypes.html#t:HscEnv">HscEnv</a> -> <a href="../base-4.5.1.0/System-IO.html#t:FilePath">FilePath</a> -> <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ()</p><div class="doc"><p>Read binary interface, and print it out </p></div></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>