Sophie

Sophie

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

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>CoreArity</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_CoreArity.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">CoreArity</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Arit and eta expansion
</p></div></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:manifestArity">manifestArity</a> :: <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a> -&gt; <a href="BasicTypes.html#t:Arity">Arity</a></li><li class="src short"><a href="#v:exprArity">exprArity</a> :: <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a> -&gt; <a href="BasicTypes.html#t:Arity">Arity</a></li><li class="src short"><a href="#v:exprBotStrictness_maybe">exprBotStrictness_maybe</a> :: <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="BasicTypes.html#t:Arity">Arity</a>, <a href="Demand.html#t:StrictSig">StrictSig</a>)</li><li class="src short"><a href="#v:exprEtaExpandArity">exprEtaExpandArity</a> :: <a href="DynFlags.html#t:DynFlags">DynFlags</a> -&gt; <a href="CoreUtils.html#t:CheapAppFun">CheapAppFun</a> -&gt; <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a> -&gt; <a href="BasicTypes.html#t:Arity">Arity</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:CheapFun">CheapFun</a> = <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Type.html#t:Type">Type</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:etaExpand">etaExpand</a> :: <a href="BasicTypes.html#t:Arity">Arity</a> -&gt; <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a> -&gt; <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:manifestArity" class="def">manifestArity</a> :: <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a> -&gt; <a href="BasicTypes.html#t:Arity">Arity</a></p><div class="doc"><p>manifestArity sees how many leading value lambdas there are
</p></div></div><div class="top"><p class="src"><a name="v:exprArity" class="def">exprArity</a> :: <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a> -&gt; <a href="BasicTypes.html#t:Arity">Arity</a></p><div class="doc"><p>An approximate, fast, version of <code><a href="CoreArity.html#v:exprEtaExpandArity">exprEtaExpandArity</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:exprBotStrictness_maybe" class="def">exprBotStrictness_maybe</a> :: <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="BasicTypes.html#t:Arity">Arity</a>, <a href="Demand.html#t:StrictSig">StrictSig</a>)</p></div><div class="top"><p class="src"><a name="v:exprEtaExpandArity" class="def">exprEtaExpandArity</a> :: <a href="DynFlags.html#t:DynFlags">DynFlags</a> -&gt; <a href="CoreUtils.html#t:CheapAppFun">CheapAppFun</a> -&gt; <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a> -&gt; <a href="BasicTypes.html#t:Arity">Arity</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:CheapFun" class="def">CheapFun</a> = <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Type.html#t:Type">Type</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:etaExpand" class="def">etaExpand</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="BasicTypes.html#t:Arity">Arity</a></td><td class="doc"><p>Result should have this number of value args
</p></td></tr><tr><td class="src">-&gt; <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a></td><td class="doc"><p>Expression to expand
</p></td></tr><tr><td class="src">-&gt; <a href="CoreSyn.html#t:CoreExpr">CoreExpr</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p><code>etaExpand n us e ty</code> returns an expression with
 the same meaning as <code>e</code>, but with arity <code>n</code>.
</p><p>Given:
</p><pre> e' = etaExpand n us e ty
</pre><p>We should have that:
</p><pre> ty = exprType e = exprType e'
</pre></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>