Sophie

Sophie

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

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>RtClosureInspect</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_RtClosureInspect.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">RtClosureInspect</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:cvObtainTerm">cvObtainTerm</a> :: <a href="HscTypes.html#t:HscEnv">HscEnv</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; RttiType -&gt; <a href="ByteCodeLink.html#t:HValue">HValue</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="RtClosureInspect.html#t:Term">Term</a></li><li class="src short"><a href="#v:cvReconstructType">cvReconstructType</a> :: <a href="HscTypes.html#t:HscEnv">HscEnv</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; GhciType -&gt; <a href="ByteCodeLink.html#t:HValue">HValue</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> (<a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Type.html#t:Type">Type</a>)</li><li class="src short"><a href="#v:improveRTTIType">improveRTTIType</a> :: <a href="HscTypes.html#t:HscEnv">HscEnv</a> -&gt; RttiType -&gt; RttiType -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Type.html#t:TvSubst">TvSubst</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Term">Term</a> <ul class="subs"><li>= <a href="#v:Term">Term</a> { <ul class="subs"><li><a href="#v:ty">ty</a> :: RttiType</li><li><a href="#v:dc">dc</a> :: <a href="../base-4.5.1.0/Data-Either.html#t:Either">Either</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> <a href="DataCon.html#t:DataCon">DataCon</a></li><li><a href="#v:val">val</a> :: <a href="ByteCodeLink.html#t:HValue">HValue</a></li><li><a href="#v:subTerms">subTerms</a> :: [<a href="RtClosureInspect.html#t:Term">Term</a>]</li></ul> }</li><li>| <a href="#v:Prim">Prim</a> { <ul class="subs"><li><a href="#v:ty">ty</a> :: RttiType</li><li><a href="#v:value">value</a> :: [<a href="../base-4.5.1.0/Data-Word.html#t:Word">Word</a>]</li></ul> }</li><li>| <a href="#v:Suspension">Suspension</a> { <ul class="subs"><li><a href="#v:ctype">ctype</a> :: <a href="RtClosureInspect.html#t:ClosureType">ClosureType</a></li><li><a href="#v:ty">ty</a> :: RttiType</li><li><a href="#v:val">val</a> :: <a href="ByteCodeLink.html#t:HValue">HValue</a></li><li><a href="#v:bound_to">bound_to</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Name.html#t:Name">Name</a></li></ul> }</li><li>| <a href="#v:NewtypeWrap">NewtypeWrap</a> { <ul class="subs"><li><a href="#v:ty">ty</a> :: RttiType</li><li><a href="#v:dc">dc</a> :: <a href="../base-4.5.1.0/Data-Either.html#t:Either">Either</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> <a href="DataCon.html#t:DataCon">DataCon</a></li><li><a href="#v:wrapped_term">wrapped_term</a> :: <a href="RtClosureInspect.html#t:Term">Term</a></li></ul> }</li><li>| <a href="#v:RefWrap">RefWrap</a> { <ul class="subs"><li><a href="#v:ty">ty</a> :: RttiType</li><li><a href="#v:wrapped_term">wrapped_term</a> :: <a href="RtClosureInspect.html#t:Term">Term</a></li></ul> }</li></ul></li><li class="src short"><a href="#v:isTerm">isTerm</a> :: <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isSuspension">isSuspension</a> :: <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isPrim">isPrim</a> :: <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isFun">isFun</a> :: <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isFunLike">isFunLike</a> :: <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isNewtypeWrap">isNewtypeWrap</a> :: <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isFullyEvaluated">isFullyEvaluated</a> ::  a -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isFullyEvaluatedTerm">isFullyEvaluatedTerm</a> :: <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:termType">termType</a> :: <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; RttiType</li><li class="src short"><a href="#v:mapTermType">mapTermType</a> :: (RttiType -&gt; <a href="Type.html#t:Type">Type</a>) -&gt; <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; <a href="RtClosureInspect.html#t:Term">Term</a></li><li class="src short"><a href="#v:termTyVars">termTyVars</a> :: <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; <a href="VarSet.html#t:TyVarSet">TyVarSet</a></li><li class="src short"><a href="#v:foldTerm">foldTerm</a> ::  <a href="RtClosureInspect.html#t:TermFold">TermFold</a> a -&gt; <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; a</li><li class="src short"><span class="keyword">data</span>  <a href="#t:TermFold">TermFold</a> a = <a href="#v:TermFold">TermFold</a> {<ul class="subs"><li><a href="#v:fTerm">fTerm</a> :: TermProcessor a a</li><li><a href="#v:fPrim">fPrim</a> :: RttiType -&gt; [<a href="../base-4.5.1.0/Data-Word.html#t:Word">Word</a>] -&gt; a</li><li><a href="#v:fSuspension">fSuspension</a> :: <a href="RtClosureInspect.html#t:ClosureType">ClosureType</a> -&gt; RttiType -&gt; <a href="ByteCodeLink.html#t:HValue">HValue</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Name.html#t:Name">Name</a> -&gt; a</li><li><a href="#v:fNewtypeWrap">fNewtypeWrap</a> :: RttiType -&gt; <a href="../base-4.5.1.0/Data-Either.html#t:Either">Either</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> <a href="DataCon.html#t:DataCon">DataCon</a> -&gt; a -&gt; a</li><li><a href="#v:fRefWrap">fRefWrap</a> :: RttiType -&gt; a -&gt; a</li></ul>}</li><li class="src short"><a href="#v:foldTermM">foldTermM</a> :: <a href="../base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="RtClosureInspect.html#t:TermFoldM">TermFoldM</a> m a -&gt; <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; m a</li><li class="src short"><span class="keyword">data</span>  <a href="#t:TermFoldM">TermFoldM</a> m a = <a href="#v:TermFoldM">TermFoldM</a> {<ul class="subs"><li><a href="#v:fTermM">fTermM</a> :: TermProcessor a (m a)</li><li><a href="#v:fPrimM">fPrimM</a> :: RttiType -&gt; [<a href="../base-4.5.1.0/Data-Word.html#t:Word">Word</a>] -&gt; m a</li><li><a href="#v:fSuspensionM">fSuspensionM</a> :: <a href="RtClosureInspect.html#t:ClosureType">ClosureType</a> -&gt; RttiType -&gt; <a href="ByteCodeLink.html#t:HValue">HValue</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Name.html#t:Name">Name</a> -&gt; m a</li><li><a href="#v:fNewtypeWrapM">fNewtypeWrapM</a> :: RttiType -&gt; <a href="../base-4.5.1.0/Data-Either.html#t:Either">Either</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> <a href="DataCon.html#t:DataCon">DataCon</a> -&gt; a -&gt; m a</li><li><a href="#v:fRefWrapM">fRefWrapM</a> :: RttiType -&gt; a -&gt; m a</li></ul>}</li><li class="src short"><a href="#v:idTermFold">idTermFold</a> :: <a href="RtClosureInspect.html#t:TermFold">TermFold</a> <a href="RtClosureInspect.html#t:Term">Term</a></li><li class="src short"><a href="#v:pprTerm">pprTerm</a> :: TermPrinter -&gt; TermPrinter</li><li class="src short"><a href="#v:cPprTerm">cPprTerm</a> :: <a href="../base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="RtClosureInspect.html#t:CustomTermPrinter">CustomTermPrinter</a> m -&gt; <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; m <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:cPprTermBase">cPprTermBase</a> :: <span class="keyword">forall</span> m. <a href="../base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="RtClosureInspect.html#t:CustomTermPrinter">CustomTermPrinter</a> m</li><li class="src short"><span class="keyword">type</span> <a href="#t:CustomTermPrinter">CustomTermPrinter</a> m = TermPrinterM m -&gt; [Precedence -&gt; <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; m (<a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Outputable.html#t:SDoc">SDoc</a>)]</li><li class="src short"><span class="keyword">data</span>  <a href="#t:Closure">Closure</a>  = <a href="#v:Closure">Closure</a> {<ul class="subs"><li><a href="#v:tipe">tipe</a> :: <a href="RtClosureInspect.html#t:ClosureType">ClosureType</a></li><li><a href="#v:infoPtr">infoPtr</a> :: <a href="../base-4.5.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> ()</li><li><a href="#v:infoTable">infoTable</a> :: <a href="ByteCodeItbls.html#t:StgInfoTable">StgInfoTable</a></li><li><a href="#v:ptrs">ptrs</a> :: <a href="../array-0.4.0.0/Data-Array.html#t:Array">Array</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> <a href="ByteCodeLink.html#t:HValue">HValue</a></li><li><a href="#v:nonPtrs">nonPtrs</a> :: [<a href="../base-4.5.1.0/Data-Word.html#t:Word">Word</a>]</li></ul>}</li><li class="src short"><a href="#v:getClosureData">getClosureData</a> ::  a -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="RtClosureInspect.html#t:Closure">Closure</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:ClosureType">ClosureType</a> <ul class="subs"><li>= <a href="#v:Constr">Constr</a>  </li><li>| <a href="#v:Fun">Fun</a>  </li><li>| <a href="#v:Thunk">Thunk</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>  </li><li>| <a href="#v:ThunkSelector">ThunkSelector</a>  </li><li>| <a href="#v:Blackhole">Blackhole</a>  </li><li>| <a href="#v:AP">AP</a>  </li><li>| <a href="#v:PAP">PAP</a>  </li><li>| <a href="#v:Indirection">Indirection</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>  </li><li>| <a href="#v:MutVar">MutVar</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>  </li><li>| <a href="#v:MVar">MVar</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>  </li><li>| <a href="#v:Other">Other</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>  </li></ul></li><li class="src short"><a href="#v:isConstr">isConstr</a> :: <a href="RtClosureInspect.html#t:ClosureType">ClosureType</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isIndirection">isIndirection</a> :: <a href="RtClosureInspect.html#t:ClosureType">ClosureType</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a name="v:cvObtainTerm" class="def">cvObtainTerm</a> :: <a href="HscTypes.html#t:HscEnv">HscEnv</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> -&gt; RttiType -&gt; <a href="ByteCodeLink.html#t:HValue">HValue</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="RtClosureInspect.html#t:Term">Term</a></p></div><div class="top"><p class="src"><a name="v:cvReconstructType" class="def">cvReconstructType</a> :: <a href="HscTypes.html#t:HscEnv">HscEnv</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> -&gt; GhciType -&gt; <a href="ByteCodeLink.html#t:HValue">HValue</a> -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> (<a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Type.html#t:Type">Type</a>)</p></div><div class="top"><p class="src"><a name="v:improveRTTIType" class="def">improveRTTIType</a> :: <a href="HscTypes.html#t:HscEnv">HscEnv</a> -&gt; RttiType -&gt; RttiType -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Type.html#t:TvSubst">TvSubst</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Term" class="def">Term</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Term" class="def">Term</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:ty" class="def">ty</a> :: RttiType</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:dc" class="def">dc</a> :: <a href="../base-4.5.1.0/Data-Either.html#t:Either">Either</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> <a href="DataCon.html#t:DataCon">DataCon</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:val" class="def">val</a> :: <a href="ByteCodeLink.html#t:HValue">HValue</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:subTerms" class="def">subTerms</a> :: [<a href="RtClosureInspect.html#t:Term">Term</a>]</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:Prim" class="def">Prim</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:ty" class="def">ty</a> :: RttiType</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:value" class="def">value</a> :: [<a href="../base-4.5.1.0/Data-Word.html#t:Word">Word</a>]</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:Suspension" class="def">Suspension</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:ctype" class="def">ctype</a> :: <a href="RtClosureInspect.html#t:ClosureType">ClosureType</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:ty" class="def">ty</a> :: RttiType</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:val" class="def">val</a> :: <a href="ByteCodeLink.html#t:HValue">HValue</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:bound_to" class="def">bound_to</a> :: <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Name.html#t:Name">Name</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:NewtypeWrap" class="def">NewtypeWrap</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:ty" class="def">ty</a> :: RttiType</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:dc" class="def">dc</a> :: <a href="../base-4.5.1.0/Data-Either.html#t:Either">Either</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> <a href="DataCon.html#t:DataCon">DataCon</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:wrapped_term" class="def">wrapped_term</a> :: <a href="RtClosureInspect.html#t:Term">Term</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:RefWrap" class="def">RefWrap</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:ty" class="def">ty</a> :: RttiType</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:wrapped_term" class="def">wrapped_term</a> :: <a href="RtClosureInspect.html#t:Term">Term</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:Term" class="caption collapser" onclick="toggleSection('i:Term')">Instances</p><div id="section.i:Term" class="show"><table><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="RtClosureInspect.html#t:Term">Term</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:isTerm" class="def">isTerm</a> :: <a href="RtClosureInspect.html#t:Term">Term</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:isSuspension" class="def">isSuspension</a> :: <a href="RtClosureInspect.html#t:Term">Term</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:isPrim" class="def">isPrim</a> :: <a href="RtClosureInspect.html#t:Term">Term</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:isFun" class="def">isFun</a> :: <a href="RtClosureInspect.html#t:Term">Term</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:isFunLike" class="def">isFunLike</a> :: <a href="RtClosureInspect.html#t:Term">Term</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:isNewtypeWrap" class="def">isNewtypeWrap</a> :: <a href="RtClosureInspect.html#t:Term">Term</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:isFullyEvaluated" class="def">isFullyEvaluated</a> ::  a -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <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:isFullyEvaluatedTerm" class="def">isFullyEvaluatedTerm</a> :: <a href="RtClosureInspect.html#t:Term">Term</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:termType" class="def">termType</a> :: <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; RttiType</p></div><div class="top"><p class="src"><a name="v:mapTermType" class="def">mapTermType</a> :: (RttiType -&gt; <a href="Type.html#t:Type">Type</a>) -&gt; <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; <a href="RtClosureInspect.html#t:Term">Term</a></p></div><div class="top"><p class="src"><a name="v:termTyVars" class="def">termTyVars</a> :: <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; <a href="VarSet.html#t:TyVarSet">TyVarSet</a></p></div><div class="top"><p class="src"><a name="v:foldTerm" class="def">foldTerm</a> ::  <a href="RtClosureInspect.html#t:TermFold">TermFold</a> a -&gt; <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; a</p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:TermFold" class="def">TermFold</a> a </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:TermFold" class="def">TermFold</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:fTerm" class="def">fTerm</a> :: TermProcessor a a</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fPrim" class="def">fPrim</a> :: RttiType -&gt; [<a href="../base-4.5.1.0/Data-Word.html#t:Word">Word</a>] -&gt; a</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fSuspension" class="def">fSuspension</a> :: <a href="RtClosureInspect.html#t:ClosureType">ClosureType</a> -&gt; RttiType -&gt; <a href="ByteCodeLink.html#t:HValue">HValue</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Name.html#t:Name">Name</a> -&gt; a</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fNewtypeWrap" class="def">fNewtypeWrap</a> :: RttiType -&gt; <a href="../base-4.5.1.0/Data-Either.html#t:Either">Either</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> <a href="DataCon.html#t:DataCon">DataCon</a> -&gt; a -&gt; a</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fRefWrap" class="def">fRefWrap</a> :: RttiType -&gt; a -&gt; a</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><a name="v:foldTermM" class="def">foldTermM</a> :: <a href="../base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="RtClosureInspect.html#t:TermFoldM">TermFoldM</a> m a -&gt; <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; m a</p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:TermFoldM" class="def">TermFoldM</a> m a </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:TermFoldM" class="def">TermFoldM</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:fTermM" class="def">fTermM</a> :: TermProcessor a (m a)</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fPrimM" class="def">fPrimM</a> :: RttiType -&gt; [<a href="../base-4.5.1.0/Data-Word.html#t:Word">Word</a>] -&gt; m a</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fSuspensionM" class="def">fSuspensionM</a> :: <a href="RtClosureInspect.html#t:ClosureType">ClosureType</a> -&gt; RttiType -&gt; <a href="ByteCodeLink.html#t:HValue">HValue</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Name.html#t:Name">Name</a> -&gt; m a</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fNewtypeWrapM" class="def">fNewtypeWrapM</a> :: RttiType -&gt; <a href="../base-4.5.1.0/Data-Either.html#t:Either">Either</a> <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> <a href="DataCon.html#t:DataCon">DataCon</a> -&gt; a -&gt; m a</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:fRefWrapM" class="def">fRefWrapM</a> :: RttiType -&gt; a -&gt; m a</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><a name="v:idTermFold" class="def">idTermFold</a> :: <a href="RtClosureInspect.html#t:TermFold">TermFold</a> <a href="RtClosureInspect.html#t:Term">Term</a></p></div><div class="top"><p class="src"><a name="v:pprTerm" class="def">pprTerm</a> :: TermPrinter -&gt; TermPrinter</p></div><div class="top"><p class="src"><a name="v:cPprTerm" class="def">cPprTerm</a> :: <a href="../base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="RtClosureInspect.html#t:CustomTermPrinter">CustomTermPrinter</a> m -&gt; <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; m <a href="Outputable.html#t:SDoc">SDoc</a></p><div class="doc"><p>Takes a list of custom printers with a explicit recursion knot and a term, 
 and returns the output of the first succesful printer, or the default printer
</p></div></div><div class="top"><p class="src"><a name="v:cPprTermBase" class="def">cPprTermBase</a> :: <span class="keyword">forall</span> m. <a href="../base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="RtClosureInspect.html#t:CustomTermPrinter">CustomTermPrinter</a> m</p></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:CustomTermPrinter" class="def">CustomTermPrinter</a> m = TermPrinterM m -&gt; [Precedence -&gt; <a href="RtClosureInspect.html#t:Term">Term</a> -&gt; m (<a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Outputable.html#t:SDoc">SDoc</a>)]</p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Closure" class="def">Closure</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Closure" class="def">Closure</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:tipe" class="def">tipe</a> :: <a href="RtClosureInspect.html#t:ClosureType">ClosureType</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:infoPtr" class="def">infoPtr</a> :: <a href="../base-4.5.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> ()</dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:infoTable" class="def">infoTable</a> :: <a href="ByteCodeItbls.html#t:StgInfoTable">StgInfoTable</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:ptrs" class="def">ptrs</a> :: <a href="../array-0.4.0.0/Data-Array.html#t:Array">Array</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> <a href="ByteCodeLink.html#t:HValue">HValue</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:nonPtrs" class="def">nonPtrs</a> :: [<a href="../base-4.5.1.0/Data-Word.html#t:Word">Word</a>]</dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr></table></div></div><div class="top"><p class="src"><a name="v:getClosureData" class="def">getClosureData</a> ::  a -&gt; <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a> <a href="RtClosureInspect.html#t:Closure">Closure</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:ClosureType" class="def">ClosureType</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Constr" class="def">Constr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Fun" class="def">Fun</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Thunk" class="def">Thunk</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ThunkSelector" class="def">ThunkSelector</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Blackhole" class="def">Blackhole</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:AP" class="def">AP</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:PAP" class="def">PAP</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Indirection" class="def">Indirection</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:MutVar" class="def">MutVar</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:MVar" class="def">MVar</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:Other" class="def">Other</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:ClosureType" class="caption collapser" onclick="toggleSection('i:ClosureType')">Instances</p><div id="section.i:ClosureType" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="RtClosureInspect.html#t:ClosureType">ClosureType</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Text-Show.html#t:Show">Show</a> <a href="RtClosureInspect.html#t:ClosureType">ClosureType</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="RtClosureInspect.html#t:ClosureType">ClosureType</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:isConstr" class="def">isConstr</a> :: <a href="RtClosureInspect.html#t:ClosureType">ClosureType</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:isIndirection" class="def">isIndirection</a> :: <a href="RtClosureInspect.html#t:ClosureType">ClosureType</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>