Sophie

Sophie

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

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>CostCentre</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_CostCentre.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">CostCentre</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"><span class="keyword">data</span>  <a href="#t:CostCentre">CostCentre</a> <ul class="subs"><li>= <a href="#v:NormalCC">NormalCC</a> { <ul class="subs"><li><a href="#v:cc_key">cc_key</a> :: !<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></li><li><a href="#v:cc_name">cc_name</a> :: <a href="CostCentre.html#t:CcName">CcName</a></li><li><a href="#v:cc_mod">cc_mod</a> :: <a href="Module.html#t:Module">Module</a></li><li><a href="#v:cc_loc">cc_loc</a> :: <a href="SrcLoc.html#t:SrcSpan">SrcSpan</a></li><li><a href="#v:cc_is_caf">cc_is_caf</a> :: <a href="CostCentre.html#t:IsCafCC">IsCafCC</a></li></ul> }</li><li>| <a href="#v:AllCafsCC">AllCafsCC</a> { <ul class="subs"><li><a href="#v:cc_mod">cc_mod</a> :: <a href="Module.html#t:Module">Module</a></li><li><a href="#v:cc_loc">cc_loc</a> :: <a href="SrcLoc.html#t:SrcSpan">SrcSpan</a></li></ul> }</li></ul></li><li class="src short"><span class="keyword">type</span> <a href="#t:CcName">CcName</a> = <a href="FastString.html#t:FastString">FastString</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:IsCafCC">IsCafCC</a> <ul class="subs"><li>= <a href="#v:NotCafCC">NotCafCC</a>  </li><li>| <a href="#v:CafCC">CafCC</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:CostCentreStack">CostCentreStack</a> </li><li class="src short"><span class="keyword">type</span> <a href="#t:CollectedCCs">CollectedCCs</a> = ([<a href="CostCentre.html#t:CostCentre">CostCentre</a>], [<a href="CostCentre.html#t:CostCentre">CostCentre</a>], [<a href="CostCentre.html#t:CostCentreStack">CostCentreStack</a>])</li><li class="src short"><a href="#v:noCCS">noCCS</a> :: <a href="CostCentre.html#t:CostCentreStack">CostCentreStack</a></li><li class="src short"><a href="#v:currentCCS">currentCCS</a> :: <a href="CostCentre.html#t:CostCentreStack">CostCentreStack</a></li><li class="src short"><a href="#v:dontCareCCS">dontCareCCS</a> :: <a href="CostCentre.html#t:CostCentreStack">CostCentreStack</a></li><li class="src short"><a href="#v:noCCSAttached">noCCSAttached</a> :: <a href="CostCentre.html#t:CostCentreStack">CostCentreStack</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isCurrentCCS">isCurrentCCS</a> :: <a href="CostCentre.html#t:CostCentreStack">CostCentreStack</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:maybeSingletonCCS">maybeSingletonCCS</a> :: <a href="CostCentre.html#t:CostCentreStack">CostCentreStack</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="CostCentre.html#t:CostCentre">CostCentre</a></li><li class="src short"><a href="#v:mkUserCC">mkUserCC</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="Module.html#t:Module">Module</a> -&gt; <a href="SrcLoc.html#t:SrcSpan">SrcSpan</a> -&gt; <a href="Unique.html#t:Unique">Unique</a> -&gt; <a href="CostCentre.html#t:CostCentre">CostCentre</a></li><li class="src short"><a href="#v:mkAutoCC">mkAutoCC</a> :: <a href="Var.html#t:Id">Id</a> -&gt; <a href="Module.html#t:Module">Module</a> -&gt; <a href="CostCentre.html#t:IsCafCC">IsCafCC</a> -&gt; <a href="CostCentre.html#t:CostCentre">CostCentre</a></li><li class="src short"><a href="#v:mkAllCafsCC">mkAllCafsCC</a> :: <a href="Module.html#t:Module">Module</a> -&gt; <a href="SrcLoc.html#t:SrcSpan">SrcSpan</a> -&gt; <a href="CostCentre.html#t:CostCentre">CostCentre</a></li><li class="src short"><a href="#v:mkSingletonCCS">mkSingletonCCS</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="CostCentre.html#t:CostCentreStack">CostCentreStack</a></li><li class="src short"><a href="#v:isCafCCS">isCafCCS</a> :: <a href="CostCentre.html#t:CostCentreStack">CostCentreStack</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isCafCC">isCafCC</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isSccCountCC">isSccCountCC</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:sccAbleCC">sccAbleCC</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:ccFromThisModule">ccFromThisModule</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="Module.html#t:Module">Module</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:pprCostCentreCore">pprCostCentreCore</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:costCentreUserName">costCentreUserName</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="../base-4.5.1.0/Data-String.html#t:String">String</a></li><li class="src short"><a href="#v:costCentreUserNameFS">costCentreUserNameFS</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></li><li class="src short"><a href="#v:costCentreSrcSpan">costCentreSrcSpan</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="SrcLoc.html#t:SrcSpan">SrcSpan</a></li><li class="src short"><a href="#v:cmpCostCentre">cmpCostCentre</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="../base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</a></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:CostCentre" class="def">CostCentre</a>  </p><div class="doc"><p>A Cost Centre is a single <code>{-<a name=" SCC "></a>-}</code> annotation.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:NormalCC" class="def">NormalCC</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:cc_key" class="def">cc_key</a> :: !<a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></dt><dd class="doc"><p>Two cost centres may have the same name and
 module but different SrcSpans, so we need a way to
 distinguish them easily and give them different
 object-code labels.  So every CostCentre has a
 Unique that is distinct from every other
 CostCentre in the same module.
</p><p>XXX: should really be using Unique here, but we
 need to derive Data below and there's no Data
 instance for Unique.
</p></dd><dt class="src"><a name="v:cc_name" class="def">cc_name</a> :: <a href="CostCentre.html#t:CcName">CcName</a></dt><dd class="doc"><p>Name of the cost centre itself
</p></dd><dt class="src"><a name="v:cc_mod" class="def">cc_mod</a> :: <a href="Module.html#t:Module">Module</a></dt><dd class="doc"><p>Name of module defining this CC.
</p></dd><dt class="src"><a name="v:cc_loc" class="def">cc_loc</a> :: <a href="SrcLoc.html#t:SrcSpan">SrcSpan</a></dt><dd class="doc empty">&nbsp;</dd><dt class="src"><a name="v:cc_is_caf" class="def">cc_is_caf</a> :: <a href="CostCentre.html#t:IsCafCC">IsCafCC</a></dt><dd class="doc empty">&nbsp;</dd></dl><div class="clear"></div></div></td></tr><tr><td class="src"><a name="v:AllCafsCC" class="def">AllCafsCC</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:cc_mod" class="def">cc_mod</a> :: <a href="Module.html#t:Module">Module</a></dt><dd class="doc"><p>Name of module defining this CC.
</p></dd><dt class="src"><a name="v:cc_loc" class="def">cc_loc</a> :: <a href="SrcLoc.html#t:SrcSpan">SrcSpan</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:CostCentre" class="caption collapser" onclick="toggleSection('i:CostCentre')">Instances</p><div id="section.i:CostCentre" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="CostCentre.html#t:CostCentre">CostCentre</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="CostCentre.html#t:CostCentre">CostCentre</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="CostCentre.html#t:CostCentre">CostCentre</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="CostCentre.html#t:CostCentre">CostCentre</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="CostCentre.html#t:CostCentre">CostCentre</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Binary.html#t:Binary">Binary</a> <a href="CostCentre.html#t:CostCentre">CostCentre</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:CcName" class="def">CcName</a> = <a href="FastString.html#t:FastString">FastString</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:IsCafCC" class="def">IsCafCC</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:NotCafCC" class="def">NotCafCC</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:CafCC" class="def">CafCC</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:IsCafCC" class="caption collapser" onclick="toggleSection('i:IsCafCC')">Instances</p><div id="section.i:IsCafCC" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="CostCentre.html#t:IsCafCC">IsCafCC</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="CostCentre.html#t:IsCafCC">IsCafCC</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="CostCentre.html#t:IsCafCC">IsCafCC</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="CostCentre.html#t:IsCafCC">IsCafCC</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Binary.html#t:Binary">Binary</a> <a href="CostCentre.html#t:IsCafCC">IsCafCC</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:CostCentreStack" class="def">CostCentreStack</a>  </p><div class="doc"><p>A Cost Centre Stack is something that can be attached to a closure.
 This is either:
</p><ul><li> the current cost centre stack (CCCS)
      * a pre-defined cost centre stack (there are several
 	  pre-defined CCSs, see below).
</li></ul></div><div class="subs instances"><p id="control.i:CostCentreStack" class="caption collapser" onclick="toggleSection('i:CostCentreStack')">Instances</p><div id="section.i:CostCentreStack" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="CostCentre.html#t:CostCentreStack">CostCentreStack</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="CostCentre.html#t:CostCentreStack">CostCentreStack</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="CostCentre.html#t:CostCentreStack">CostCentreStack</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:CollectedCCs" class="def">CollectedCCs</a> = ([<a href="CostCentre.html#t:CostCentre">CostCentre</a>], [<a href="CostCentre.html#t:CostCentre">CostCentre</a>], [<a href="CostCentre.html#t:CostCentreStack">CostCentreStack</a>])</p></div><div class="top"><p class="src"><a name="v:noCCS" class="def">noCCS</a> :: <a href="CostCentre.html#t:CostCentreStack">CostCentreStack</a></p></div><div class="top"><p class="src"><a name="v:currentCCS" class="def">currentCCS</a> :: <a href="CostCentre.html#t:CostCentreStack">CostCentreStack</a></p></div><div class="top"><p class="src"><a name="v:dontCareCCS" class="def">dontCareCCS</a> :: <a href="CostCentre.html#t:CostCentreStack">CostCentreStack</a></p></div><div class="top"><p class="src"><a name="v:noCCSAttached" class="def">noCCSAttached</a> :: <a href="CostCentre.html#t:CostCentreStack">CostCentreStack</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:isCurrentCCS" class="def">isCurrentCCS</a> :: <a href="CostCentre.html#t:CostCentreStack">CostCentreStack</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:maybeSingletonCCS" class="def">maybeSingletonCCS</a> :: <a href="CostCentre.html#t:CostCentreStack">CostCentreStack</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="CostCentre.html#t:CostCentre">CostCentre</a></p></div><div class="top"><p class="src"><a name="v:mkUserCC" class="def">mkUserCC</a> :: <a href="FastString.html#t:FastString">FastString</a> -&gt; <a href="Module.html#t:Module">Module</a> -&gt; <a href="SrcLoc.html#t:SrcSpan">SrcSpan</a> -&gt; <a href="Unique.html#t:Unique">Unique</a> -&gt; <a href="CostCentre.html#t:CostCentre">CostCentre</a></p></div><div class="top"><p class="src"><a name="v:mkAutoCC" class="def">mkAutoCC</a> :: <a href="Var.html#t:Id">Id</a> -&gt; <a href="Module.html#t:Module">Module</a> -&gt; <a href="CostCentre.html#t:IsCafCC">IsCafCC</a> -&gt; <a href="CostCentre.html#t:CostCentre">CostCentre</a></p></div><div class="top"><p class="src"><a name="v:mkAllCafsCC" class="def">mkAllCafsCC</a> :: <a href="Module.html#t:Module">Module</a> -&gt; <a href="SrcLoc.html#t:SrcSpan">SrcSpan</a> -&gt; <a href="CostCentre.html#t:CostCentre">CostCentre</a></p></div><div class="top"><p class="src"><a name="v:mkSingletonCCS" class="def">mkSingletonCCS</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="CostCentre.html#t:CostCentreStack">CostCentreStack</a></p></div><div class="top"><p class="src"><a name="v:isCafCCS" class="def">isCafCCS</a> :: <a href="CostCentre.html#t:CostCentreStack">CostCentreStack</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:isCafCC" class="def">isCafCC</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</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:isSccCountCC" class="def">isSccCountCC</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p><div class="doc"><p>Is this a cost-centre which records scc counts
</p></div></div><div class="top"><p class="src"><a name="v:sccAbleCC" class="def">sccAbleCC</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p><div class="doc"><p>Is this a cost-centre which can be sccd ?
</p></div></div><div class="top"><p class="src"><a name="v:ccFromThisModule" class="def">ccFromThisModule</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="Module.html#t:Module">Module</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:pprCostCentreCore" class="def">pprCostCentreCore</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><div class="top"><p class="src"><a name="v:costCentreUserName" class="def">costCentreUserName</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</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:costCentreUserNameFS" class="def">costCentreUserNameFS</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="FastString.html#t:FastString">FastString</a></p></div><div class="top"><p class="src"><a name="v:costCentreSrcSpan" class="def">costCentreSrcSpan</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="SrcLoc.html#t:SrcSpan">SrcSpan</a></p></div><div class="top"><p class="src"><a name="v:cmpCostCentre" class="def">cmpCostCentre</a> :: <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="CostCentre.html#t:CostCentre">CostCentre</a> -&gt; <a href="../base-4.5.1.0/Data-Ord.html#t:Ordering">Ordering</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>