Sophie

Sophie

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

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>GHC.Exts</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_GHC-Exts.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">base-4.5.1.0: Basic libraries</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>non-portable (GHC Extensions)</td></tr><tr><th>Stability</th><td>internal</td></tr><tr><th>Maintainer</th><td>cvs-ghc@haskell.org</td></tr><tr><th>Safe Haskell</th><td>Unsafe</td></tr></table><p class="caption">GHC.Exts</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Representations of some basic types
</a></li><li><a href="#g:2">The maximum tuple size
</a></li><li><a href="#g:3">Primitive operations
</a></li><li><a href="#g:4">Fusion
</a></li><li><a href="#g:5">Overloaded string literals
</a></li><li><a href="#g:6">Debugging
</a></li><li><a href="#g:7">Ids with special behaviour
</a></li><li><a href="#g:8">Transform comprehensions
</a></li><li><a href="#g:9">Event logging
</a></li><li><a href="#g:10">SpecConstr annotations
</a></li><li><a href="#g:11">The call stack
</a></li><li><a href="#g:12">The Constraint kind
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>GHC Extensions: this is the Approved Way to get at GHC-specific extensions.
</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"><span class="keyword">data</span>  <a href="#t:Int">Int</a>  = <a href="#v:I-35-">I#</a> <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Word">Word</a>  = <a href="#v:W-35-">W#</a> <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word-35-">Word#</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Float">Float</a>  = <a href="#v:F-35-">F#</a> <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Float-35-">Float#</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Double">Double</a>  = <a href="#v:D-35-">D#</a> <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Double-35-">Double#</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Char">Char</a>  = <a href="#v:C-35-">C#</a> <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Char-35-">Char#</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Ptr">Ptr</a> a = <a href="#v:Ptr">Ptr</a> <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Addr-35-">Addr#</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:FunPtr">FunPtr</a> a = <a href="#v:FunPtr">FunPtr</a> <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Addr-35-">Addr#</a></li><li class="src short"><a href="#v:maxTupleSize">maxTupleSize</a> :: <a href="GHC-Exts.html#t:Int">Int</a></li><li class="src short">module <a href="../ghc-prim-0.2.0.0/GHC-Prim.html">GHC.Prim</a></li><li class="src short"><a href="#v:shiftL-35-">shiftL#</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word-35-">Word#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word-35-">Word#</a></li><li class="src short"><a href="#v:shiftRL-35-">shiftRL#</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word-35-">Word#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word-35-">Word#</a></li><li class="src short"><a href="#v:iShiftL-35-">iShiftL#</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a></li><li class="src short"><a href="#v:iShiftRA-35-">iShiftRA#</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a></li><li class="src short"><a href="#v:iShiftRL-35-">iShiftRL#</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a></li><li class="src short"><a href="#v:uncheckedShiftL64-35-">uncheckedShiftL64#</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word64-35-">Word64#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word64-35-">Word64#</a></li><li class="src short"><a href="#v:uncheckedShiftRL64-35-">uncheckedShiftRL64#</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word64-35-">Word64#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word64-35-">Word64#</a></li><li class="src short"><a href="#v:uncheckedIShiftL64-35-">uncheckedIShiftL64#</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int64-35-">Int64#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int64-35-">Int64#</a></li><li class="src short"><a href="#v:uncheckedIShiftRA64-35-">uncheckedIShiftRA64#</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int64-35-">Int64#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int64-35-">Int64#</a></li><li class="src short"><a href="#v:build">build</a> :: <span class="keyword">forall</span> a.  (<span class="keyword">forall</span> b.  (a -&gt; b -&gt; b) -&gt; b -&gt; b) -&gt; [a]</li><li class="src short"><a href="#v:augment">augment</a> :: <span class="keyword">forall</span> a.  (<span class="keyword">forall</span> b.  (a -&gt; b -&gt; b) -&gt; b -&gt; b) -&gt; [a] -&gt; [a]</li><li class="src short"><span class="keyword">class</span>  <a href="#t:IsString">IsString</a> a  <span class="keyword">where</span><ul class="subs"><li><a href="#v:fromString">fromString</a> :: <a href="Data-String.html#t:String">String</a> -&gt; a</li></ul></li><li class="src short"><a href="#v:breakpoint">breakpoint</a> ::  a -&gt; a</li><li class="src short"><a href="#v:breakpointCond">breakpointCond</a> ::  <a href="Data-Bool.html#t:Bool">Bool</a> -&gt; a -&gt; a</li><li class="src short"><a href="#v:lazy">lazy</a> ::  a -&gt; a</li><li class="src short"><a href="#v:inline">inline</a> ::  a -&gt; a</li><li class="src short"><span class="keyword">newtype</span>  <a href="#t:Down">Down</a> a = <a href="#v:Down">Down</a> a</li><li class="src short"><a href="#v:groupWith">groupWith</a> :: <a href="Data-Ord.html#t:Ord">Ord</a> b =&gt; (a -&gt; b) -&gt; [a] -&gt; [[a]]</li><li class="src short"><a href="#v:sortWith">sortWith</a> :: <a href="Data-Ord.html#t:Ord">Ord</a> b =&gt; (a -&gt; b) -&gt; [a] -&gt; [a]</li><li class="src short"><a href="#v:the">the</a> :: <a href="Data-Eq.html#t:Eq">Eq</a> a =&gt; [a] -&gt; a</li><li class="src short"><a href="#v:traceEvent">traceEvent</a> :: <a href="Data-String.html#t:String">String</a> -&gt; <a href="System-IO.html#t:IO">IO</a> <a href="../ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:SpecConstrAnnotation">SpecConstrAnnotation</a> <ul class="subs"><li>= <a href="#v:NoSpecConstr">NoSpecConstr</a>  </li><li>| <a href="#v:ForceSpecConstr">ForceSpecConstr</a>  </li></ul></li><li class="src short"><a href="#v:currentCallStack">currentCallStack</a> :: <a href="System-IO.html#t:IO">IO</a> [<a href="Data-String.html#t:String">String</a>]</li><li class="src short"><span class="keyword">data</span>  <a href="#t:Constraint">Constraint</a> </li></ul></div><div id="interface"><h1 id="g:1">Representations of some basic types
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Int" class="def">Int</a>  <a href="../ghc-prim-0.2.0.0/src/GHC-Types.html#Int" class="link">Source</a></p><div class="doc"><p>A fixed-precision integer type with at least the range <code>[-2^29 .. 2^29-1]</code>.
 The exact range for a given implementation can be determined by using
 <code><a href="Prelude.html#v:minBound">minBound</a></code> and <code><a href="Prelude.html#v:maxBound">maxBound</a></code> from the <code><a href="Prelude.html#t:Bounded">Bounded</a></code> class.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:I-35-" class="def">I#</a> <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Int" class="caption collapser" onclick="toggleSection('i:Int')">Instances</p><div id="section.i:Int" class="show"><table><tr><td class="src"><a href="Prelude.html#t:Bounded">Bounded</a> <a href="GHC-Exts.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:Enum">Enum</a> <a href="GHC-Exts.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Eq.html#t:Eq">Eq</a> <a href="GHC-Exts.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:Integral">Integral</a> <a href="GHC-Exts.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Data.html#t:Data">Data</a> <a href="GHC-Exts.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:Num">Num</a> <a href="GHC-Exts.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Ord.html#t:Ord">Ord</a> <a href="GHC-Exts.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Read.html#t:Read">Read</a> <a href="GHC-Exts.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:Real">Real</a> <a href="GHC-Exts.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Show.html#t:Show">Show</a> <a href="GHC-Exts.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Ix.html#t:Ix">Ix</a> <a href="GHC-Exts.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="GHC-Exts.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../ghc-prim-0.2.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="GHC-Exts.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Bits.html#t:Bits">Bits</a> <a href="GHC-Exts.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Foreign-Storable.html#t:Storable">Storable</a> <a href="GHC-Exts.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Printf.html#t:PrintfArg">PrintfArg</a> <a href="GHC-Exts.html#t:Int">Int</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:Word" class="def">Word</a>  </p><div class="doc"><p>A <code><a href="GHC-Exts.html#t:Word">Word</a></code> is an unsigned integral type, with the same size as <code><a href="GHC-Exts.html#t:Int">Int</a></code>.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:W-35-" class="def">W#</a> <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word-35-">Word#</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Word" class="caption collapser" onclick="toggleSection('i:Word')">Instances</p><div id="section.i:Word" class="show"><table><tr><td class="src"><a href="Prelude.html#t:Bounded">Bounded</a> <a href="GHC-Exts.html#t:Word">Word</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:Enum">Enum</a> <a href="GHC-Exts.html#t:Word">Word</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Eq.html#t:Eq">Eq</a> <a href="GHC-Exts.html#t:Word">Word</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:Integral">Integral</a> <a href="GHC-Exts.html#t:Word">Word</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Data.html#t:Data">Data</a> <a href="GHC-Exts.html#t:Word">Word</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:Num">Num</a> <a href="GHC-Exts.html#t:Word">Word</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Ord.html#t:Ord">Ord</a> <a href="GHC-Exts.html#t:Word">Word</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Read.html#t:Read">Read</a> <a href="GHC-Exts.html#t:Word">Word</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:Real">Real</a> <a href="GHC-Exts.html#t:Word">Word</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Show.html#t:Show">Show</a> <a href="GHC-Exts.html#t:Word">Word</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Ix.html#t:Ix">Ix</a> <a href="GHC-Exts.html#t:Word">Word</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="GHC-Exts.html#t:Word">Word</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Bits.html#t:Bits">Bits</a> <a href="GHC-Exts.html#t:Word">Word</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Foreign-Storable.html#t:Storable">Storable</a> <a href="GHC-Exts.html#t:Word">Word</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Printf.html#t:PrintfArg">PrintfArg</a> <a href="GHC-Exts.html#t:Word">Word</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:Float" class="def">Float</a>  <a href="../ghc-prim-0.2.0.0/src/GHC-Types.html#Float" class="link">Source</a></p><div class="doc"><p>Single-precision floating point numbers.
 It is desirable that this type be at least equal in range and precision
 to the IEEE single-precision type.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:F-35-" class="def">F#</a> <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Float-35-">Float#</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Float" class="caption collapser" onclick="toggleSection('i:Float')">Instances</p><div id="section.i:Float" class="show"><table><tr><td class="src"><a href="Prelude.html#t:Enum">Enum</a> <a href="GHC-Exts.html#t:Float">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Eq.html#t:Eq">Eq</a> <a href="GHC-Exts.html#t:Float">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:Floating">Floating</a> <a href="GHC-Exts.html#t:Float">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:Fractional">Fractional</a> <a href="GHC-Exts.html#t:Float">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Data.html#t:Data">Data</a> <a href="GHC-Exts.html#t:Float">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:Num">Num</a> <a href="GHC-Exts.html#t:Float">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Ord.html#t:Ord">Ord</a> <a href="GHC-Exts.html#t:Float">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Read.html#t:Read">Read</a> <a href="GHC-Exts.html#t:Float">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:Real">Real</a> <a href="GHC-Exts.html#t:Float">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:RealFloat">RealFloat</a> <a href="GHC-Exts.html#t:Float">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:RealFrac">RealFrac</a> <a href="GHC-Exts.html#t:Float">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Show.html#t:Show">Show</a> <a href="GHC-Exts.html#t:Float">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="GHC-Exts.html#t:Float">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../ghc-prim-0.2.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="GHC-Exts.html#t:Float">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Foreign-Storable.html#t:Storable">Storable</a> <a href="GHC-Exts.html#t:Float">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Printf.html#t:PrintfArg">PrintfArg</a> <a href="GHC-Exts.html#t:Float">Float</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:Double" class="def">Double</a>  <a href="../ghc-prim-0.2.0.0/src/GHC-Types.html#Double" class="link">Source</a></p><div class="doc"><p>Double-precision floating point numbers.
 It is desirable that this type be at least equal in range and precision
 to the IEEE double-precision type.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:D-35-" class="def">D#</a> <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Double-35-">Double#</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Double" class="caption collapser" onclick="toggleSection('i:Double')">Instances</p><div id="section.i:Double" class="show"><table><tr><td class="src"><a href="Prelude.html#t:Enum">Enum</a> <a href="GHC-Exts.html#t:Double">Double</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Eq.html#t:Eq">Eq</a> <a href="GHC-Exts.html#t:Double">Double</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:Floating">Floating</a> <a href="GHC-Exts.html#t:Double">Double</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:Fractional">Fractional</a> <a href="GHC-Exts.html#t:Double">Double</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Data.html#t:Data">Data</a> <a href="GHC-Exts.html#t:Double">Double</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:Num">Num</a> <a href="GHC-Exts.html#t:Double">Double</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Ord.html#t:Ord">Ord</a> <a href="GHC-Exts.html#t:Double">Double</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Read.html#t:Read">Read</a> <a href="GHC-Exts.html#t:Double">Double</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:Real">Real</a> <a href="GHC-Exts.html#t:Double">Double</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:RealFloat">RealFloat</a> <a href="GHC-Exts.html#t:Double">Double</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:RealFrac">RealFrac</a> <a href="GHC-Exts.html#t:Double">Double</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Show.html#t:Show">Show</a> <a href="GHC-Exts.html#t:Double">Double</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="GHC-Exts.html#t:Double">Double</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../ghc-prim-0.2.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="GHC-Exts.html#t:Double">Double</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Foreign-Storable.html#t:Storable">Storable</a> <a href="GHC-Exts.html#t:Double">Double</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Printf.html#t:PrintfArg">PrintfArg</a> <a href="GHC-Exts.html#t:Double">Double</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:Char" class="def">Char</a>  <a href="../ghc-prim-0.2.0.0/src/GHC-Types.html#Char" class="link">Source</a></p><div class="doc"><p>The character type <code><a href="GHC-Exts.html#t:Char">Char</a></code> is an enumeration whose values represent
Unicode (or equivalently ISO/IEC 10646) characters (see
<a href="http://www.unicode.org/">http://www.unicode.org/</a> for details).  This set extends the ISO 8859-1
(Latin-1) character set (the first 256 characters), which is itself an extension
of the ASCII character set (the first 128 characters).  A character literal in
Haskell has type <code><a href="GHC-Exts.html#t:Char">Char</a></code>.
</p><p>To convert a <code><a href="GHC-Exts.html#t:Char">Char</a></code> to or from the corresponding <code><a href="GHC-Exts.html#t:Int">Int</a></code> value defined
by Unicode, use <code><a href="Prelude.html#v:toEnum">toEnum</a></code> and <code><a href="Prelude.html#v:fromEnum">fromEnum</a></code> from the
<code><a href="Prelude.html#t:Enum">Enum</a></code> class respectively (or equivalently <code>ord</code> and <code>chr</code>).
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:C-35-" class="def">C#</a> <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Char-35-">Char#</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Char" class="caption collapser" onclick="toggleSection('i:Char')">Instances</p><div id="section.i:Char" class="show"><table><tr><td class="src"><a href="Prelude.html#t:Bounded">Bounded</a> <a href="GHC-Exts.html#t:Char">Char</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Prelude.html#t:Enum">Enum</a> <a href="GHC-Exts.html#t:Char">Char</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Eq.html#t:Eq">Eq</a> <a href="GHC-Exts.html#t:Char">Char</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Data.html#t:Data">Data</a> <a href="GHC-Exts.html#t:Char">Char</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Ord.html#t:Ord">Ord</a> <a href="GHC-Exts.html#t:Char">Char</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Read.html#t:Read">Read</a> <a href="GHC-Exts.html#t:Char">Char</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Show.html#t:Show">Show</a> <a href="GHC-Exts.html#t:Char">Char</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Ix.html#t:Ix">Ix</a> <a href="GHC-Exts.html#t:Char">Char</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="GHC-Exts.html#t:Char">Char</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../ghc-prim-0.2.0.0/GHC-Generics.html#t:Generic">Generic</a> <a href="GHC-Exts.html#t:Char">Char</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Foreign-Storable.html#t:Storable">Storable</a> <a href="GHC-Exts.html#t:Char">Char</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Printf.html#t:IsChar">IsChar</a> <a href="GHC-Exts.html#t:Char">Char</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Printf.html#t:PrintfArg">PrintfArg</a> <a href="GHC-Exts.html#t:Char">Char</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="GHC-Exts.html#t:IsString">IsString</a> [<a href="GHC-Exts.html#t:Char">Char</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:Ptr" class="def">Ptr</a> a </p><div class="doc"><p>A value of type <code><code><a href="GHC-Exts.html#t:Ptr">Ptr</a></code> a</code> represents a pointer to an object, or an
 array of objects, which may be marshalled to or from Haskell values
 of type <code>a</code>.
</p><p>The type <code>a</code> will often be an instance of class
 <code><a href="Foreign-Storable.html#t:Storable">Storable</a></code> which provides the marshalling operations.
 However this is not essential, and you can provide your own operations
 to access the pointer.  For example you might write small foreign
 functions to get or set the fields of a C <code>struct</code>.
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Ptr" class="def">Ptr</a> <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Addr-35-">Addr#</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Ptr" class="caption collapser" onclick="toggleSection('i:Ptr')">Instances</p><div id="section.i:Ptr" class="show"><table><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="GHC-Exts.html#t:Ptr">Ptr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Eq.html#t:Eq">Eq</a> (<a href="GHC-Exts.html#t:Ptr">Ptr</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> a =&gt; <a href="Data-Data.html#t:Data">Data</a> (<a href="GHC-Exts.html#t:Ptr">Ptr</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Ord.html#t:Ord">Ord</a> (<a href="GHC-Exts.html#t:Ptr">Ptr</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Show.html#t:Show">Show</a> (<a href="GHC-Exts.html#t:Ptr">Ptr</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Foreign-Storable.html#t:Storable">Storable</a> (<a href="GHC-Exts.html#t:Ptr">Ptr</a> 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:FunPtr" class="def">FunPtr</a> a </p><div class="doc"><p>A value of type <code><code><a href="GHC-Exts.html#t:FunPtr">FunPtr</a></code> a</code> is a pointer to a function callable
 from foreign code.  The type <code>a</code> will normally be a <em>foreign type</em>,
 a function type with zero or more arguments where
</p><ul><li> the argument types are <em>marshallable foreign types</em>,
   i.e. <code><a href="GHC-Exts.html#t:Char">Char</a></code>, <code><a href="GHC-Exts.html#t:Int">Int</a></code>, <code><a href="GHC-Exts.html#t:Double">Double</a></code>, <code><a href="GHC-Exts.html#t:Float">Float</a></code>,
   <code><a href="Data-Bool.html#t:Bool">Bool</a></code>, <code><a href="Data-Int.html#t:Int8">Int8</a></code>, <code><a href="Data-Int.html#t:Int16">Int16</a></code>, <code><a href="Data-Int.html#t:Int32">Int32</a></code>,
   <code><a href="Data-Int.html#t:Int64">Int64</a></code>, <code><a href="Data-Word.html#t:Word8">Word8</a></code>, <code><a href="Data-Word.html#t:Word16">Word16</a></code>,
   <code><a href="Data-Word.html#t:Word32">Word32</a></code>, <code><a href="Data-Word.html#t:Word64">Word64</a></code>, <code><code><a href="GHC-Exts.html#t:Ptr">Ptr</a></code> a</code>, <code><code><a href="GHC-Exts.html#t:FunPtr">FunPtr</a></code> a</code>,
   <code><code><a href="Foreign-StablePtr.html#t:StablePtr">StablePtr</a></code> a</code> or a renaming of any of these
   using <code>newtype</code>.
</li><li> the return type is either a marshallable foreign type or has the form
   <code><code><a href="System-IO.html#t:IO">IO</a></code> t</code> where <code>t</code> is a marshallable foreign type or <code>()</code>.
</li></ul><p>A value of type <code><code><a href="GHC-Exts.html#t:FunPtr">FunPtr</a></code> a</code> may be a pointer to a foreign function,
 either returned by another foreign function or imported with a
 a static address import like
</p><pre> foreign import ccall &quot;stdlib.h &amp;free&quot;
   p_free :: FunPtr (Ptr a -&gt; IO ())
</pre><p>or a pointer to a Haskell function created using a <em>wrapper</em> stub
 declared to produce a <code><a href="GHC-Exts.html#t:FunPtr">FunPtr</a></code> of the correct type.  For example:
</p><pre> type Compare = Int -&gt; Int -&gt; Bool
 foreign import ccall &quot;wrapper&quot;
   mkCompare :: Compare -&gt; IO (FunPtr Compare)
</pre><p>Calls to wrapper stubs like <code>mkCompare</code> allocate storage, which
 should be released with <code><a href="Foreign-Ptr.html#v:freeHaskellFunPtr">freeHaskellFunPtr</a></code> when no
 longer required.
</p><p>To convert <code><a href="GHC-Exts.html#t:FunPtr">FunPtr</a></code> values to corresponding Haskell functions, one
 can define a <em>dynamic</em> stub for the specific foreign type, e.g.
</p><pre> type IntFunction = CInt -&gt; IO ()
 foreign import ccall &quot;dynamic&quot; 
   mkFun :: FunPtr IntFunction -&gt; IntFunction
</pre></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:FunPtr" class="def">FunPtr</a> <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Addr-35-">Addr#</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:FunPtr" class="caption collapser" onclick="toggleSection('i:FunPtr')">Instances</p><div id="section.i:FunPtr" class="show"><table><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable1">Typeable1</a> <a href="GHC-Exts.html#t:FunPtr">FunPtr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Eq.html#t:Eq">Eq</a> (<a href="GHC-Exts.html#t:FunPtr">FunPtr</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Ord.html#t:Ord">Ord</a> (<a href="GHC-Exts.html#t:FunPtr">FunPtr</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Text-Show.html#t:Show">Show</a> (<a href="GHC-Exts.html#t:FunPtr">FunPtr</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Foreign-Storable.html#t:Storable">Storable</a> (<a href="GHC-Exts.html#t:FunPtr">FunPtr</a> a)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h1 id="g:2">The maximum tuple size
</h1><div class="top"><p class="src"><a name="v:maxTupleSize" class="def">maxTupleSize</a> :: <a href="GHC-Exts.html#t:Int">Int</a></p></div><h1 id="g:3">Primitive operations
</h1><div class="top"><p class="src">module <a href="../ghc-prim-0.2.0.0/GHC-Prim.html">GHC.Prim</a></p></div><div class="top"><p class="src"><a name="v:shiftL-35-" class="def">shiftL#</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word-35-">Word#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word-35-">Word#</a></p><div class="doc"><p>Shift the argument left by the specified number of bits
 (which must be non-negative).
</p></div></div><div class="top"><p class="src"><a name="v:shiftRL-35-" class="def">shiftRL#</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word-35-">Word#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word-35-">Word#</a></p><div class="doc"><p>Shift the argument right by the specified number of bits
 (which must be non-negative).
</p></div></div><div class="top"><p class="src"><a name="v:iShiftL-35-" class="def">iShiftL#</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a></p><div class="doc"><p>Shift the argument left by the specified number of bits
 (which must be non-negative).
</p></div></div><div class="top"><p class="src"><a name="v:iShiftRA-35-" class="def">iShiftRA#</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a></p><div class="doc"><p>Shift the argument right (signed) by the specified number of bits
 (which must be non-negative).
</p></div></div><div class="top"><p class="src"><a name="v:iShiftRL-35-" class="def">iShiftRL#</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a></p><div class="doc"><p>Shift the argument right (unsigned) by the specified number of bits
 (which must be non-negative).
</p></div></div><div class="top"><p class="src"><a name="v:uncheckedShiftL64-35-" class="def">uncheckedShiftL64#</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word64-35-">Word64#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word64-35-">Word64#</a><a href="../ghc-prim-0.2.0.0/src/GHC-IntWord64.html#uncheckedShiftL64%23" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:uncheckedShiftRL64-35-" class="def">uncheckedShiftRL64#</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word64-35-">Word64#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Word64-35-">Word64#</a><a href="../ghc-prim-0.2.0.0/src/GHC-IntWord64.html#uncheckedShiftRL64%23" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:uncheckedIShiftL64-35-" class="def">uncheckedIShiftL64#</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int64-35-">Int64#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int64-35-">Int64#</a><a href="../ghc-prim-0.2.0.0/src/GHC-IntWord64.html#uncheckedIShiftL64%23" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:uncheckedIShiftRA64-35-" class="def">uncheckedIShiftRA64#</a> :: <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int64-35-">Int64#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int-35-">Int#</a> -&gt; <a href="../ghc-prim-0.2.0.0/GHC-Prim.html#t:Int64-35-">Int64#</a><a href="../ghc-prim-0.2.0.0/src/GHC-IntWord64.html#uncheckedIShiftRA64%23" class="link">Source</a></p></div><h1 id="g:4">Fusion
</h1><div class="top"><p class="src"><a name="v:build" class="def">build</a> :: <span class="keyword">forall</span> a.  (<span class="keyword">forall</span> b.  (a -&gt; b -&gt; b) -&gt; b -&gt; b) -&gt; [a]</p><div class="doc"><p>A list producer that can be fused with <code><a href="Data-List.html#v:foldr">foldr</a></code>.
 This function is merely
</p><pre>    build g = g (:) []
</pre><p>but GHC's simplifier will transform an expression of the form
 <code><code><a href="Data-List.html#v:foldr">foldr</a></code> k z (<code><a href="GHC-Exts.html#v:build">build</a></code> g)</code>, which may arise after inlining, to <code>g k z</code>,
 which avoids producing an intermediate list.
</p></div></div><div class="top"><p class="src"><a name="v:augment" class="def">augment</a> :: <span class="keyword">forall</span> a.  (<span class="keyword">forall</span> b.  (a -&gt; b -&gt; b) -&gt; b -&gt; b) -&gt; [a] -&gt; [a]</p><div class="doc"><p>A list producer that can be fused with <code><a href="Data-List.html#v:foldr">foldr</a></code>.
 This function is merely
</p><pre>    augment g xs = g (:) xs
</pre><p>but GHC's simplifier will transform an expression of the form
 <code><code><a href="Data-List.html#v:foldr">foldr</a></code> k z (<code><a href="GHC-Exts.html#v:augment">augment</a></code> g xs)</code>, which may arise after inlining, to
 <code>g k (<code><a href="Data-List.html#v:foldr">foldr</a></code> k z xs)</code>, which avoids producing an intermediate list.
</p></div></div><h1 id="g:5">Overloaded string literals
</h1><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:IsString" class="def">IsString</a> a  <span class="keyword">where</span></p><div class="doc"><p>Class for string-like datastructures; used by the overloaded string
   extension (-foverloaded-strings in GHC).
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:fromString" class="def">fromString</a> :: <a href="Data-String.html#t:String">String</a> -&gt; a</p></div><div class="subs instances"><p id="control.i:IsString" class="caption collapser" onclick="toggleSection('i:IsString')">Instances</p><div id="section.i:IsString" class="show"><table><tr><td class="src"><a href="GHC-Exts.html#t:IsString">IsString</a> [<a href="GHC-Exts.html#t:Char">Char</a>]</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h1 id="g:6">Debugging
</h1><div class="top"><p class="src"><a name="v:breakpoint" class="def">breakpoint</a> ::  a -&gt; a</p></div><div class="top"><p class="src"><a name="v:breakpointCond" class="def">breakpointCond</a> ::  <a href="Data-Bool.html#t:Bool">Bool</a> -&gt; a -&gt; a</p></div><h1 id="g:7">Ids with special behaviour
</h1><div class="top"><p class="src"><a name="v:lazy" class="def">lazy</a> ::  a -&gt; a</p><div class="doc"><p>The call '(lazy e)' means the same as <code>e</code>, but <code><a href="GHC-Exts.html#v:lazy">lazy</a></code> has a 
 magical strictness property: it is lazy in its first argument, 
 even though its semantics is strict.
</p></div></div><div class="top"><p class="src"><a name="v:inline" class="def">inline</a> ::  a -&gt; a<a href="../ghc-prim-0.2.0.0/src/GHC-Magic.html#inline" class="link">Source</a></p><div class="doc"><p>The call '(inline f)' reduces to <code>f</code>, but <code><a href="GHC-Exts.html#v:inline">inline</a></code> has a BuiltInRule
 that tries to inline <code>f</code> (if it has an unfolding) unconditionally
 The <code>NOINLINE</code> pragma arranges that inline only gets inlined (and
 hence eliminated) late in compilation, after the rule has had
 a good chance to fire.
</p></div></div><h1 id="g:8">Transform comprehensions
</h1><div class="top"><p class="src"><span class="keyword">newtype</span>  <a name="t:Down" class="def">Down</a> a </p><div class="doc"><p>The <code><a href="GHC-Exts.html#t:Down">Down</a></code> type allows you to reverse sort order conveniently.  A value of type
 <code><code><a href="GHC-Exts.html#t:Down">Down</a></code> a</code> contains a value of type <code>a</code> (represented as <code><code><a href="GHC-Exts.html#t:Down">Down</a></code> a</code>).
 If <code>a</code> has an <code><code><a href="Data-Ord.html#t:Ord">Ord</a></code></code> instance associated with it then comparing two
 values thus wrapped will give you the opposite of their normal sort order.
 This is particularly useful when sorting in generalised list comprehensions,
 as in: <code>then sortWith by <code><a href="GHC-Exts.html#t:Down">Down</a></code> x</code>
</p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Down" class="def">Down</a> a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Down" class="caption collapser" onclick="toggleSection('i:Down')">Instances</p><div id="section.i:Down" class="show"><table><tr><td class="src"><a href="Data-Eq.html#t:Eq">Eq</a> a =&gt; <a href="Data-Eq.html#t:Eq">Eq</a> (<a href="GHC-Exts.html#t:Down">Down</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Ord.html#t:Ord">Ord</a> a =&gt; <a href="Data-Ord.html#t:Ord">Ord</a> (<a href="GHC-Exts.html#t:Down">Down</a> a)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:groupWith" class="def">groupWith</a> :: <a href="Data-Ord.html#t:Ord">Ord</a> b =&gt; (a -&gt; b) -&gt; [a] -&gt; [[a]]</p><div class="doc"><p>The <code><a href="GHC-Exts.html#v:groupWith">groupWith</a></code> function uses the user supplied function which
 projects an element out of every list element in order to to first sort the 
 input list and then to form groups by equality on these projected elements
</p></div></div><div class="top"><p class="src"><a name="v:sortWith" class="def">sortWith</a> :: <a href="Data-Ord.html#t:Ord">Ord</a> b =&gt; (a -&gt; b) -&gt; [a] -&gt; [a]</p><div class="doc"><p>The <code><a href="GHC-Exts.html#v:sortWith">sortWith</a></code> function sorts a list of elements using the
 user supplied function to project something out of each element
</p></div></div><div class="top"><p class="src"><a name="v:the" class="def">the</a> :: <a href="Data-Eq.html#t:Eq">Eq</a> a =&gt; [a] -&gt; a</p><div class="doc"><p><code><a href="GHC-Exts.html#v:the">the</a></code> ensures that all the elements of the list are identical
 and then returns that unique element
</p></div></div><h1 id="g:9">Event logging
</h1><div class="top"><p class="src"><a name="v:traceEvent" class="def">traceEvent</a> :: <a href="Data-String.html#t:String">String</a> -&gt; <a href="System-IO.html#t:IO">IO</a> <a href="../ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></p><div class="doc"><div class="warning"><p>Deprecated: Use Debug.Trace.traceEvent or Debug.Trace.traceEventIO</p></div></div></div><h1 id="g:10">SpecConstr annotations
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:SpecConstrAnnotation" class="def">SpecConstrAnnotation</a>  </p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:NoSpecConstr" class="def">NoSpecConstr</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ForceSpecConstr" class="def">ForceSpecConstr</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:SpecConstrAnnotation" class="caption collapser" onclick="toggleSection('i:SpecConstrAnnotation')">Instances</p><div id="section.i:SpecConstrAnnotation" class="show"><table><tr><td class="src"><a href="Data-Eq.html#t:Eq">Eq</a> <a href="GHC-Exts.html#t:SpecConstrAnnotation">SpecConstrAnnotation</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Data.html#t:Data">Data</a> <a href="GHC-Exts.html#t:SpecConstrAnnotation">SpecConstrAnnotation</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Typeable-Internal.html#t:Typeable">Typeable</a> <a href="GHC-Exts.html#t:SpecConstrAnnotation">SpecConstrAnnotation</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h1 id="g:11">The call stack
</h1><div class="top"><p class="src"><a name="v:currentCallStack" class="def">currentCallStack</a> :: <a href="System-IO.html#t:IO">IO</a> [<a href="Data-String.html#t:String">String</a>]</p><div class="doc"><p>returns a '[String]' representing the current call stack.  This
 can be useful for debugging.
</p><p>The implementation uses the call-stack simulation maintined by the
 profiler, so it only works if the program was compiled with <code>-prof</code>
 and contains suitable SCC annotations (e.g. by using <code>-fprof-auto</code>).
 Otherwise, the list returned is likely to be empty or
 uninformative.
</p></div></div><h1 id="g:12">The Constraint kind
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Constraint" class="def">Constraint</a>  <a href="../ghc-prim-0.2.0.0/src/GHC-Prim.html#Constraint" class="link">Source</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>