Sophie

Sophie

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

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>GhcMake</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_GhcMake.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">GhcMake</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:depanal">depanal</a> :: <a href="GhcMonad.html#t:GhcMonad">GhcMonad</a> m =&gt; [<a href="Module.html#t:ModuleName">ModuleName</a>] -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; m <a href="HscTypes.html#t:ModuleGraph">ModuleGraph</a></li><li class="src short"><a href="#v:load">load</a> :: <a href="GhcMonad.html#t:GhcMonad">GhcMonad</a> m =&gt; <a href="GhcMake.html#t:LoadHowMuch">LoadHowMuch</a> -&gt; m <a href="BasicTypes.html#t:SuccessFlag">SuccessFlag</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:LoadHowMuch">LoadHowMuch</a> <ul class="subs"><li>= <a href="#v:LoadAllTargets">LoadAllTargets</a>  </li><li>| <a href="#v:LoadUpTo">LoadUpTo</a> <a href="Module.html#t:ModuleName">ModuleName</a>  </li><li>| <a href="#v:LoadDependenciesOf">LoadDependenciesOf</a> <a href="Module.html#t:ModuleName">ModuleName</a>  </li></ul></li><li class="src short"><a href="#v:topSortModuleGraph">topSortModuleGraph</a> :: <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; [<a href="HscTypes.html#t:ModSummary">ModSummary</a>] -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Module.html#t:ModuleName">ModuleName</a> -&gt; [<a href="Digraph.html#t:SCC">SCC</a> <a href="HscTypes.html#t:ModSummary">ModSummary</a>]</li><li class="src short"><a href="#v:noModError">noModError</a> ::  <a href="DynFlags.html#t:DynFlags">DynFlags</a> -&gt; <a href="SrcLoc.html#t:SrcSpan">SrcSpan</a> -&gt; <a href="Module.html#t:ModuleName">ModuleName</a> -&gt; <a href="HscTypes.html#t:FindResult">FindResult</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ab</li><li class="src short"><a href="#v:cyclicModuleErr">cyclicModuleErr</a> :: [<a href="HscTypes.html#t:ModSummary">ModSummary</a>] -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:depanal" class="def">depanal</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="GhcMonad.html#t:GhcMonad">GhcMonad</a> m</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">=&gt; [<a href="Module.html#t:ModuleName">ModuleName</a>]</td><td class="doc"><p>excluded modules
</p></td></tr><tr><td class="src">-&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc"><p>allow duplicate roots
</p></td></tr><tr><td class="src">-&gt; m <a href="HscTypes.html#t:ModuleGraph">ModuleGraph</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Perform a dependency analysis starting from the current targets
 and update the session with the new module graph.
</p><p>Dependency analysis entails parsing the <code>import</code> directives and may
 therefore require running certain preprocessors.
</p><p>Note that each <code><a href="HscTypes.html#t:ModSummary">ModSummary</a></code> in the module graph caches its <code><a href="DynFlags.html#t:DynFlags">DynFlags</a></code>.
 These <code><a href="DynFlags.html#t:DynFlags">DynFlags</a></code> are determined by the <em>current</em> session <code><a href="DynFlags.html#t:DynFlags">DynFlags</a></code> and the
 <code>OPTIONS</code> and <code>LANGUAGE</code> pragmas of the parsed module.  Thus if you want to
 changes to the <code><a href="DynFlags.html#t:DynFlags">DynFlags</a></code> to take effect you need to call this function
 again.
</p></div></div><div class="top"><p class="src"><a name="v:load" class="def">load</a> :: <a href="GhcMonad.html#t:GhcMonad">GhcMonad</a> m =&gt; <a href="GhcMake.html#t:LoadHowMuch">LoadHowMuch</a> -&gt; m <a href="BasicTypes.html#t:SuccessFlag">SuccessFlag</a></p><div class="doc"><p>Try to load the program.  See <code><a href="GhcMake.html#t:LoadHowMuch">LoadHowMuch</a></code> for the different modes.
</p><p>This function implements the core of GHC's <code>--make</code> mode.  It preprocesses,
 compiles and loads the specified modules, avoiding re-compilation wherever
 possible.  Depending on the target (see <code><a href="DynFlags.html#v:hscTarget">hscTarget</a></code>) compilating
 and loading may result in files being created on disk.
</p><p>Calls the <code>reportModuleCompilationResult</code> callback after each compiling
 each module, whether successful or not.
</p><p>Throw a <code><a href="HscTypes.html#t:SourceError">SourceError</a></code> if errors are encountered before the actual
 compilation starts (e.g., during dependency analysis).  All other errors
 are reported using the callback.
</p></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:LoadHowMuch" class="def">LoadHowMuch</a>  </p><div class="doc"><p>Describes which modules of the module graph need to be loaded.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:LoadAllTargets" class="def">LoadAllTargets</a></td><td class="doc"><p>Load all targets and its dependencies.
</p></td></tr><tr><td class="src"><a name="v:LoadUpTo" class="def">LoadUpTo</a> <a href="Module.html#t:ModuleName">ModuleName</a></td><td class="doc"><p>Load only the given module and its dependencies.
</p></td></tr><tr><td class="src"><a name="v:LoadDependenciesOf" class="def">LoadDependenciesOf</a> <a href="Module.html#t:ModuleName">ModuleName</a></td><td class="doc"><p>Load only the dependencies of the given module, but not the module
 itself.
</p></td></tr></table></div></div><div class="top"><p class="src"><a name="v:topSortModuleGraph" class="def">topSortModuleGraph</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc"><p>Drop hi-boot nodes? (see below)
</p></td></tr><tr><td class="src">-&gt; [<a href="HscTypes.html#t:ModSummary">ModSummary</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Module.html#t:ModuleName">ModuleName</a></td><td class="doc"><p>Root module name.  If <code>Nothing</code>, use the full graph.
</p></td></tr><tr><td class="src">-&gt; [<a href="Digraph.html#t:SCC">SCC</a> <a href="HscTypes.html#t:ModSummary">ModSummary</a>]</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Calculate SCCs of the module graph, possibly dropping the hi-boot nodes
 The resulting list of strongly-connected-components is in topologically
 sorted order, starting with the module(s) at the bottom of the
 dependency graph (ie compile them first) and ending with the ones at
 the top.
</p><p>Drop hi-boot nodes (first boolean arg)? 
</p><ul><li> <code>False</code>:   treat the hi-boot summaries as nodes of the graph,
              so the graph must be acyclic
</li><li> <code>True</code>:    eliminate the hi-boot nodes, and instead pretend
              the a source-import of Foo is an import of Foo
              The resulting graph has no hi-boot nodes, but can be cyclic
</li></ul></div></div><div class="top"><p class="src"><a name="v:noModError" class="def">noModError</a> ::  <a href="DynFlags.html#t:DynFlags">DynFlags</a> -&gt; <a href="SrcLoc.html#t:SrcSpan">SrcSpan</a> -&gt; <a href="Module.html#t:ModuleName">ModuleName</a> -&gt; <a href="HscTypes.html#t:FindResult">FindResult</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> ab</p></div><div class="top"><p class="src"><a name="v:cyclicModuleErr" class="def">cyclicModuleErr</a> :: [<a href="HscTypes.html#t:ModSummary">ModSummary</a>] -&gt; <a href="Outputable.html#t:SDoc">SDoc</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>