Sophie

Sophie

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

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>Literal</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_Literal.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">Literal</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Main data type
</a><ul><li><a href="#g:2">Creating Literals
</a></li><li><a href="#g:3">Operations on Literals
</a></li><li><a href="#g:4">Predicates on Literals and their contents
</a></li><li><a href="#g:5">Coercions
</a></li></ul></li></ul></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:Literal">Literal</a> <ul class="subs"><li>= <a href="#v:MachChar">MachChar</a> <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a>  </li><li>| <a href="#v:MachStr">MachStr</a> <a href="FastString.html#t:FastString">FastString</a>  </li><li>| <a href="#v:MachNullAddr">MachNullAddr</a>  </li><li>| <a href="#v:MachInt">MachInt</a> <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a>  </li><li>| <a href="#v:MachInt64">MachInt64</a> <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a>  </li><li>| <a href="#v:MachWord">MachWord</a> <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a>  </li><li>| <a href="#v:MachWord64">MachWord64</a> <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a>  </li><li>| <a href="#v:MachFloat">MachFloat</a> <a href="../base-4.5.1.0/Prelude.html#t:Rational">Rational</a>  </li><li>| <a href="#v:MachDouble">MachDouble</a> <a href="../base-4.5.1.0/Prelude.html#t:Rational">Rational</a>  </li><li>| <a href="#v:MachLabel">MachLabel</a> <a href="FastString.html#t:FastString">FastString</a> (<a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>) <a href="BasicTypes.html#t:FunctionOrData">FunctionOrData</a>  </li><li>| <a href="#v:LitInteger">LitInteger</a> <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a> <a href="Var.html#t:Id">Id</a>  </li></ul></li><li class="src short"><a href="#v:mkMachInt">mkMachInt</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:mkMachWord">mkMachWord</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:mkMachInt64">mkMachInt64</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:mkMachWord64">mkMachWord64</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:mkMachFloat">mkMachFloat</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Rational">Rational</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:mkMachDouble">mkMachDouble</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Rational">Rational</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:mkMachChar">mkMachChar</a> :: <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:mkMachString">mkMachString</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:mkLitInteger">mkLitInteger</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="Var.html#t:Id">Id</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:literalType">literalType</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Type.html#t:Type">Type</a></li><li class="src short"><a href="#v:hashLiteral">hashLiteral</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:absentLiteralOf">absentLiteralOf</a> :: <a href="TyCon.html#t:TyCon">TyCon</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:pprLiteral">pprLiteral</a> :: (<a href="Outputable.html#t:SDoc">SDoc</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a>) -&gt; <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></li><li class="src short"><a href="#v:litIsDupable">litIsDupable</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:litIsTrivial">litIsTrivial</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:litIsLifted">litIsLifted</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:inIntRange">inIntRange</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:inWordRange">inWordRange</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:tARGET_MAX_INT">tARGET_MAX_INT</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a></li><li class="src short"><a href="#v:inCharRange">inCharRange</a> :: <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:isZeroLit">isZeroLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:litFitsInChar">litFitsInChar</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:word2IntLit">word2IntLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:int2WordLit">int2WordLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:narrow8IntLit">narrow8IntLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:narrow16IntLit">narrow16IntLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:narrow32IntLit">narrow32IntLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:narrow8WordLit">narrow8WordLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:narrow16WordLit">narrow16WordLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:narrow32WordLit">narrow32WordLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:char2IntLit">char2IntLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:int2CharLit">int2CharLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:float2IntLit">float2IntLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:int2FloatLit">int2FloatLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:double2IntLit">double2IntLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:int2DoubleLit">int2DoubleLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:nullAddrLit">nullAddrLit</a> :: <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:float2DoubleLit">float2DoubleLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li><li class="src short"><a href="#v:double2FloatLit">double2FloatLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></li></ul></div><div id="interface"><h1 id="g:1">Main data type
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Literal" class="def">Literal</a>  </p><div class="doc"><p>So-called <code><a href="Literal.html#t:Literal">Literal</a></code>s are one of:
</p><ul><li> An unboxed (<em>machine</em>) literal (<code><a href="Literal.html#v:MachInt">MachInt</a></code>, <code><a href="Literal.html#v:MachFloat">MachFloat</a></code>, etc.),
   which is presumed to be surrounded by appropriate constructors
   (<code>Int#</code>, etc.), so that the overall thing makes sense.
</li><li> The literal derived from the label mentioned in a &quot;foreign label&quot;
   declaration (<code><a href="Literal.html#v:MachLabel">MachLabel</a></code>)
</li></ul></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:MachChar" class="def">MachChar</a> <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a></td><td class="doc"><p><code>Char#</code> - at least 31 bits. Create with <code><a href="Literal.html#v:mkMachChar">mkMachChar</a></code>
</p></td></tr><tr><td class="src"><a name="v:MachStr" class="def">MachStr</a> <a href="FastString.html#t:FastString">FastString</a></td><td class="doc"><p>A string-literal: stored and emitted
 UTF-8 encoded, we'll arrange to decode it
 at runtime.  Also emitted with a <code>'\0'</code>
 terminator. Create with <code><a href="Literal.html#v:mkMachString">mkMachString</a></code>
</p></td></tr><tr><td class="src"><a name="v:MachNullAddr" class="def">MachNullAddr</a></td><td class="doc"><p>The <code>NULL</code> pointer, the only pointer value
 that can be represented as a Literal. Create
 with <code><a href="Literal.html#v:nullAddrLit">nullAddrLit</a></code>
</p></td></tr><tr><td class="src"><a name="v:MachInt" class="def">MachInt</a> <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a></td><td class="doc"><p><code>Int#</code> - at least <code>WORD_SIZE_IN_BITS</code> bits. Create with <code><a href="Literal.html#v:mkMachInt">mkMachInt</a></code>
</p></td></tr><tr><td class="src"><a name="v:MachInt64" class="def">MachInt64</a> <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a></td><td class="doc"><p><code>Int64#</code> - at least 64 bits. Create with <code><a href="Literal.html#v:mkMachInt64">mkMachInt64</a></code>
</p></td></tr><tr><td class="src"><a name="v:MachWord" class="def">MachWord</a> <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a></td><td class="doc"><p><code>Word#</code> - at least <code>WORD_SIZE_IN_BITS</code> bits. Create with <code><a href="Literal.html#v:mkMachWord">mkMachWord</a></code>
</p></td></tr><tr><td class="src"><a name="v:MachWord64" class="def">MachWord64</a> <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a></td><td class="doc"><p><code>Word64#</code> - at least 64 bits. Create with <code><a href="Literal.html#v:mkMachWord64">mkMachWord64</a></code>
</p></td></tr><tr><td class="src"><a name="v:MachFloat" class="def">MachFloat</a> <a href="../base-4.5.1.0/Prelude.html#t:Rational">Rational</a></td><td class="doc"><p><code>Float#</code>. Create with <code><a href="Literal.html#v:mkMachFloat">mkMachFloat</a></code>
</p></td></tr><tr><td class="src"><a name="v:MachDouble" class="def">MachDouble</a> <a href="../base-4.5.1.0/Prelude.html#t:Rational">Rational</a></td><td class="doc"><p><code>Double#</code>. Create with <code><a href="Literal.html#v:mkMachDouble">mkMachDouble</a></code>
</p></td></tr><tr><td class="src"><a name="v:MachLabel" class="def">MachLabel</a> <a href="FastString.html#t:FastString">FastString</a> (<a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a>) <a href="BasicTypes.html#t:FunctionOrData">FunctionOrData</a></td><td class="doc"><p>A label literal. Parameters:
</p><p>1) The name of the symbol mentioned in the declaration
</p><p>2) The size (in bytes) of the arguments
    the label expects. Only applicable with
    <code>stdcall</code> labels. <code>Just x</code> =&gt; <code>&lt;x&gt;</code> will
    be appended to label name when emitting assembly.
</p></td></tr><tr><td class="src"><a name="v:LitInteger" class="def">LitInteger</a> <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a> <a href="Var.html#t:Id">Id</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:Literal" class="caption collapser" onclick="toggleSection('i:Literal')">Instances</p><div id="section.i:Literal" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Literal.html#t:Literal">Literal</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="Literal.html#t:Literal">Literal</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="Literal.html#t:Literal">Literal</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="Literal.html#t:Literal">Literal</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="Literal.html#t:Literal">Literal</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Outputable.html#t:Outputable">Outputable</a> <a href="Literal.html#t:Literal">Literal</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Binary.html#t:Binary">Binary</a> <a href="Literal.html#t:Literal">Literal</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h2 id="g:2">Creating Literals
</h2><div class="top"><p class="src"><a name="v:mkMachInt" class="def">mkMachInt</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p><div class="doc"><p>Creates a <code><a href="Literal.html#t:Literal">Literal</a></code> of type <code>Int#</code>
</p></div></div><div class="top"><p class="src"><a name="v:mkMachWord" class="def">mkMachWord</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p><div class="doc"><p>Creates a <code><a href="Literal.html#t:Literal">Literal</a></code> of type <code>Word#</code>
</p></div></div><div class="top"><p class="src"><a name="v:mkMachInt64" class="def">mkMachInt64</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p><div class="doc"><p>Creates a <code><a href="Literal.html#t:Literal">Literal</a></code> of type <code>Int64#</code>
</p></div></div><div class="top"><p class="src"><a name="v:mkMachWord64" class="def">mkMachWord64</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p><div class="doc"><p>Creates a <code><a href="Literal.html#t:Literal">Literal</a></code> of type <code>Word64#</code>
</p></div></div><div class="top"><p class="src"><a name="v:mkMachFloat" class="def">mkMachFloat</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Rational">Rational</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p><div class="doc"><p>Creates a <code><a href="Literal.html#t:Literal">Literal</a></code> of type <code>Float#</code>
</p></div></div><div class="top"><p class="src"><a name="v:mkMachDouble" class="def">mkMachDouble</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Rational">Rational</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p><div class="doc"><p>Creates a <code><a href="Literal.html#t:Literal">Literal</a></code> of type <code>Double#</code>
</p></div></div><div class="top"><p class="src"><a name="v:mkMachChar" class="def">mkMachChar</a> :: <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p><div class="doc"><p>Creates a <code><a href="Literal.html#t:Literal">Literal</a></code> of type <code>Char#</code>
</p></div></div><div class="top"><p class="src"><a name="v:mkMachString" class="def">mkMachString</a> :: <a href="../base-4.5.1.0/Data-String.html#t:String">String</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p><div class="doc"><p>Creates a <code><a href="Literal.html#t:Literal">Literal</a></code> of type <code>Addr#</code>, which is appropriate for passing to
 e.g. some of the &quot;error&quot; functions in GHC.Err such as <code>GHC.Err.runtimeError</code>
</p></div></div><div class="top"><p class="src"><a name="v:mkLitInteger" class="def">mkLitInteger</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a> -&gt; <a href="Var.html#t:Id">Id</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p></div><h2 id="g:3">Operations on Literals
</h2><div class="top"><p class="src"><a name="v:literalType" class="def">literalType</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Type.html#t:Type">Type</a></p><div class="doc"><p>Find the Haskell <code><a href="Type.html#t:Type">Type</a></code> the literal occupies
</p></div></div><div class="top"><p class="src"><a name="v:hashLiteral" class="def">hashLiteral</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a></p></div><div class="top"><p class="src"><a name="v:absentLiteralOf" class="def">absentLiteralOf</a> :: <a href="TyCon.html#t:TyCon">TyCon</a> -&gt; <a href="../base-4.5.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Literal.html#t:Literal">Literal</a></p></div><div class="top"><p class="src"><a name="v:pprLiteral" class="def">pprLiteral</a> :: (<a href="Outputable.html#t:SDoc">SDoc</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a>) -&gt; <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Outputable.html#t:SDoc">SDoc</a></p></div><h2 id="g:4">Predicates on Literals and their contents
</h2><div class="top"><p class="src"><a name="v:litIsDupable" class="def">litIsDupable</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p><div class="doc"><p>True if code space does not go bad if we duplicate this literal
 Currently we treat it just like <code><a href="Literal.html#v:litIsTrivial">litIsTrivial</a></code>
</p></div></div><div class="top"><p class="src"><a name="v:litIsTrivial" class="def">litIsTrivial</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p><div class="doc"><p>True if there is absolutely no penalty to duplicating the literal.
 False principally of strings
</p></div></div><div class="top"><p class="src"><a name="v:litIsLifted" class="def">litIsLifted</a> :: <a href="Literal.html#t:Literal">Literal</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:inIntRange" class="def">inIntRange</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</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:inWordRange" class="def">inWordRange</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</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:tARGET_MAX_INT" class="def">tARGET_MAX_INT</a> :: <a href="../base-4.5.1.0/Prelude.html#t:Integer">Integer</a></p></div><div class="top"><p class="src"><a name="v:inCharRange" class="def">inCharRange</a> :: <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</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:isZeroLit" class="def">isZeroLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p><div class="doc"><p>Tests whether the literal represents a zero of whatever type it is
</p></div></div><div class="top"><p class="src"><a name="v:litFitsInChar" class="def">litFitsInChar</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a></p></div><h2 id="g:5">Coercions
</h2><div class="top"><p class="src"><a name="v:word2IntLit" class="def">word2IntLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p></div><div class="top"><p class="src"><a name="v:int2WordLit" class="def">int2WordLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p></div><div class="top"><p class="src"><a name="v:narrow8IntLit" class="def">narrow8IntLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p></div><div class="top"><p class="src"><a name="v:narrow16IntLit" class="def">narrow16IntLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p></div><div class="top"><p class="src"><a name="v:narrow32IntLit" class="def">narrow32IntLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p></div><div class="top"><p class="src"><a name="v:narrow8WordLit" class="def">narrow8WordLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p></div><div class="top"><p class="src"><a name="v:narrow16WordLit" class="def">narrow16WordLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p></div><div class="top"><p class="src"><a name="v:narrow32WordLit" class="def">narrow32WordLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p></div><div class="top"><p class="src"><a name="v:char2IntLit" class="def">char2IntLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p></div><div class="top"><p class="src"><a name="v:int2CharLit" class="def">int2CharLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p></div><div class="top"><p class="src"><a name="v:float2IntLit" class="def">float2IntLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p></div><div class="top"><p class="src"><a name="v:int2FloatLit" class="def">int2FloatLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p></div><div class="top"><p class="src"><a name="v:double2IntLit" class="def">double2IntLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p></div><div class="top"><p class="src"><a name="v:int2DoubleLit" class="def">int2DoubleLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p></div><div class="top"><p class="src"><a name="v:nullAddrLit" class="def">nullAddrLit</a> :: <a href="Literal.html#t:Literal">Literal</a></p></div><div class="top"><p class="src"><a name="v:float2DoubleLit" class="def">float2DoubleLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</a></p></div><div class="top"><p class="src"><a name="v:double2FloatLit" class="def">double2FloatLit</a> :: <a href="Literal.html#t:Literal">Literal</a> -&gt; <a href="Literal.html#t:Literal">Literal</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>