Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 70ec89744a04da80369b4702b2c37256 > files > 614

ghc-doc-6.10.4-1mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>GHC.Prim</TITLE
><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css"
><SCRIPT SRC="haddock-util.js" TYPE="text/javascript"
></SCRIPT
><SCRIPT TYPE="text/javascript"
>window.onload = function () {setSynopsis("mini_GHC-Prim.html")};</SCRIPT
></HEAD
><BODY
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topbar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" "
></TD
><TD CLASS="title"
>ghc-prim-0.1.0.0: GHC primitives</TD
><TD CLASS="topbut"
><A HREF="index.html"
>Contents</A
></TD
><TD CLASS="topbut"
><A HREF="doc-index.html"
>Index</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="modulebar"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD
><FONT SIZE="6"
>GHC.Prim</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Portability</TD
><TD CLASS="infoval"
>non-portable (GHC extensions)</TD
></TR
><TR
><TD CLASS="infohead"
>Stability</TD
><TD CLASS="infoval"
>internal</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>cvs-ghc@haskell.org</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF="#1"
>The word size story.
</A
></DT
><DT
><A HREF="#2"
>Char#
</A
></DT
><DT
><A HREF="#3"
>Int#
</A
></DT
><DT
><A HREF="#4"
>Word#
</A
></DT
><DT
><A HREF="#5"
>Narrowings
</A
></DT
><DT
><A HREF="#6"
>Int64#
</A
></DT
><DT
><A HREF="#7"
>Word64#
</A
></DT
><DT
><A HREF="#8"
>Integer#
</A
></DT
><DT
><A HREF="#9"
>Double#
</A
></DT
><DT
><A HREF="#10"
>Float#
</A
></DT
><DT
><A HREF="#11"
>Arrays
</A
></DT
><DT
><A HREF="#12"
>Byte Arrays
</A
></DT
><DT
><A HREF="#13"
>Addr#
</A
></DT
><DT
><A HREF="#14"
>Mutable variables
</A
></DT
><DT
><A HREF="#15"
>Exceptions
</A
></DT
><DT
><A HREF="#16"
>STM-accessible Mutable Variables
</A
></DT
><DT
><A HREF="#17"
>Synchronized Mutable Variables
</A
></DT
><DT
><A HREF="#18"
>Delay/wait operations
</A
></DT
><DT
><A HREF="#19"
>Concurrency primitives
</A
></DT
><DT
><A HREF="#20"
>Weak pointers
</A
></DT
><DT
><A HREF="#21"
>Stable pointers and names
</A
></DT
><DT
><A HREF="#22"
>Unsafe pointer equality
</A
></DT
><DT
><A HREF="#23"
>Parallelism
</A
></DT
><DT
><A HREF="#24"
>Tag to enum stuff
</A
></DT
><DT
><A HREF="#25"
>Bytecode operations
</A
></DT
><DT
><A HREF="#26"
>Etc
</A
></DT
></DL
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
>GHC's primitive types and operations.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AChar%23"
>Char#</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgtChar%23"
>gtChar#</A
> :: <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgeChar%23"
>geChar#</A
> :: <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AeqChar%23"
>eqChar#</A
> :: <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AneChar%23"
>neChar#</A
> :: <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AltChar%23"
>ltChar#</A
> :: <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AleChar%23"
>leChar#</A
> :: <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aord%23"
>ord#</A
> :: <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AInt%23"
>Int#</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%2B%23"
>(+#)</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A-%23"
>(-#)</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%2A%23"
>(*#)</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmulIntMayOflo%23"
>mulIntMayOflo#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AquotInt%23"
>quotInt#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AremInt%23"
>remInt#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgcdInt%23"
>gcdInt#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnegateInt%23"
>negateInt#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AaddIntC%23"
>addIntC#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsubIntC%23"
>subIntC#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%3E%23"
>(&gt;#)</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%3E%3D%23"
>(&gt;=#)</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%3D%3D%23"
>(==#)</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%2F%3D%23"
>(/=#)</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%3C%23"
>(&lt;#)</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%3C%3D%23"
>(&lt;=#)</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Achr%23"
>chr#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aint2Word%23"
>int2Word#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aint2Float%23"
>int2Float#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aint2Double%23"
>int2Double#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aint2Integer%23"
>int2Integer#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AuncheckedIShiftL%23"
>uncheckedIShiftL#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AuncheckedIShiftRA%23"
>uncheckedIShiftRA#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AuncheckedIShiftRL%23"
>uncheckedIShiftRL#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AWord%23"
>Word#</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AplusWord%23"
>plusWord#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AminusWord%23"
>minusWord#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtimesWord%23"
>timesWord#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AquotWord%23"
>quotWord#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AremWord%23"
>remWord#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aand%23"
>and#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aor%23"
>or#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Axor%23"
>xor#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Anot%23"
>not#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AuncheckedShiftL%23"
>uncheckedShiftL#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AuncheckedShiftRL%23"
>uncheckedShiftRL#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aword2Int%23"
>word2Int#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aword2Integer%23"
>word2Integer#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgtWord%23"
>gtWord#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgeWord%23"
>geWord#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AeqWord%23"
>eqWord#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AneWord%23"
>neWord#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AltWord%23"
>ltWord#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AleWord%23"
>leWord#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Anarrow8Int%23"
>narrow8Int#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Anarrow16Int%23"
>narrow16Int#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Anarrow32Int%23"
>narrow32Int#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Anarrow8Word%23"
>narrow8Word#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Anarrow16Word%23"
>narrow16Word#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Anarrow32Word%23"
>narrow32Word#</A
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AInt64%23"
>Int64#</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aint64ToInteger%23"
>int64ToInteger#</A
> :: <A HREF="GHC-Prim.html#t%3AInt64%23"
>Int64#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AWord64%23"
>Word64#</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aword64ToInteger%23"
>word64ToInteger#</A
> :: <A HREF="GHC-Prim.html#t%3AWord64%23"
>Word64#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AplusInteger%23"
>plusInteger#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AminusInteger%23"
>minusInteger#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtimesInteger%23"
>timesInteger#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgcdInteger%23"
>gcdInteger#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgcdIntegerInt%23"
>gcdIntegerInt#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdivExactInteger%23"
>divExactInteger#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AquotInteger%23"
>quotInteger#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AremInteger%23"
>remInteger#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcmpInteger%23"
>cmpInteger#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcmpIntegerInt%23"
>cmpIntegerInt#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AquotRemInteger%23"
>quotRemInteger#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdivModInteger%23"
>divModInteger#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Ainteger2Int%23"
>integer2Int#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Ainteger2Word%23"
>integer2Word#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AandInteger%23"
>andInteger#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AorInteger%23"
>orInteger#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AxorInteger%23"
>xorInteger#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcomplementInteger%23"
>complementInteger#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ADouble%23"
>Double#</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%3E%23%23"
>(&gt;##)</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%3E%3D%23%23"
>(&gt;=##)</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%3D%3D%23%23"
>(==##)</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%2F%3D%23%23"
>(/=##)</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%3C%23%23"
>(&lt;##)</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%3C%3D%23%23"
>(&lt;=##)</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%2B%23%23"
>(+##)</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A-%23%23"
>(-##)</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%2A%23%23"
>(*##)</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%2F%23%23"
>(/##)</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnegateDouble%23"
>negateDouble#</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Adouble2Int%23"
>double2Int#</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Adouble2Float%23"
>double2Float#</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AexpDouble%23"
>expDouble#</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlogDouble%23"
>logDouble#</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsqrtDouble%23"
>sqrtDouble#</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsinDouble%23"
>sinDouble#</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcosDouble%23"
>cosDouble#</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtanDouble%23"
>tanDouble#</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AasinDouble%23"
>asinDouble#</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AacosDouble%23"
>acosDouble#</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AatanDouble%23"
>atanDouble#</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsinhDouble%23"
>sinhDouble#</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcoshDouble%23"
>coshDouble#</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtanhDouble%23"
>tanhDouble#</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3A%2A%2A%23%23"
>(**##)</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdecodeDouble%23"
>decodeDouble#</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdecodeDouble_2Int%23"
>decodeDouble_2Int#</A
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AFloat%23"
>Float#</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgtFloat%23"
>gtFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgeFloat%23"
>geFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AeqFloat%23"
>eqFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AneFloat%23"
>neFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AltFloat%23"
>ltFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AleFloat%23"
>leFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AplusFloat%23"
>plusFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AminusFloat%23"
>minusFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtimesFloat%23"
>timesFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdivideFloat%23"
>divideFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnegateFloat%23"
>negateFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Afloat2Int%23"
>float2Int#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AexpFloat%23"
>expFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlogFloat%23"
>logFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsqrtFloat%23"
>sqrtFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsinFloat%23"
>sinFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcosFloat%23"
>cosFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtanFloat%23"
>tanFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AasinFloat%23"
>asinFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AacosFloat%23"
>acosFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AatanFloat%23"
>atanFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsinhFloat%23"
>sinhFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcoshFloat%23"
>coshFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtanhFloat%23"
>tanhFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApowerFloat%23"
>powerFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Afloat2Double%23"
>float2Double#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdecodeFloat%23"
>decodeFloat#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdecodeFloat_Int%23"
>decodeFloat_Int#</A
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AArray%23"
>Array#</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AMutableArray%23"
>MutableArray#</A
> s a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewArray%23"
>newArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AMutableArray%23"
>MutableArray#</A
> s a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsameMutableArray%23"
>sameMutableArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableArray%23"
>MutableArray#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AMutableArray%23"
>MutableArray#</A
> s a -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadArray%23"
>readArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableArray%23"
>MutableArray#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteArray%23"
>writeArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableArray%23"
>MutableArray#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexArray%23"
>indexArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AArray%23"
>Array#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; (#a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunsafeFreezeArray%23"
>unsafeFreezeArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableArray%23"
>MutableArray#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AArray%23"
>Array#</A
> a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunsafeThawArray%23"
>unsafeThawArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AArray%23"
>Array#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AMutableArray%23"
>MutableArray#</A
> s a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AByteArray%23"
>ByteArray#</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewByteArray%23"
>newByteArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewPinnedByteArray%23"
>newPinnedByteArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewAlignedPinnedByteArray%23"
>newAlignedPinnedByteArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AbyteArrayContents%23"
>byteArrayContents#</A
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsameMutableByteArray%23"
>sameMutableByteArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunsafeFreezeByteArray%23"
>unsafeFreezeByteArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsizeofByteArray%23"
>sizeofByteArray#</A
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsizeofMutableByteArray%23"
>sizeofMutableByteArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexCharArray%23"
>indexCharArray#</A
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexWideCharArray%23"
>indexWideCharArray#</A
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexIntArray%23"
>indexIntArray#</A
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexWordArray%23"
>indexWordArray#</A
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexAddrArray%23"
>indexAddrArray#</A
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexFloatArray%23"
>indexFloatArray#</A
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexDoubleArray%23"
>indexDoubleArray#</A
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexStablePtrArray%23"
>indexStablePtrArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexInt8Array%23"
>indexInt8Array#</A
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexInt16Array%23"
>indexInt16Array#</A
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexInt32Array%23"
>indexInt32Array#</A
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexInt64Array%23"
>indexInt64Array#</A
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt64%23"
>Int64#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexWord8Array%23"
>indexWord8Array#</A
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexWord16Array%23"
>indexWord16Array#</A
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexWord32Array%23"
>indexWord32Array#</A
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexWord64Array%23"
>indexWord64Array#</A
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord64%23"
>Word64#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadCharArray%23"
>readCharArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadWideCharArray%23"
>readWideCharArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadIntArray%23"
>readIntArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadWordArray%23"
>readWordArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadAddrArray%23"
>readAddrArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadFloatArray%23"
>readFloatArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadDoubleArray%23"
>readDoubleArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadStablePtrArray%23"
>readStablePtrArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadInt8Array%23"
>readInt8Array#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadInt16Array%23"
>readInt16Array#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadInt32Array%23"
>readInt32Array#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadInt64Array%23"
>readInt64Array#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt64%23"
>Int64#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadWord8Array%23"
>readWord8Array#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadWord16Array%23"
>readWord16Array#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadWord32Array%23"
>readWord32Array#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadWord64Array%23"
>readWord64Array#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord64%23"
>Word64#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteCharArray%23"
>writeCharArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteWideCharArray%23"
>writeWideCharArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteIntArray%23"
>writeIntArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteWordArray%23"
>writeWordArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteAddrArray%23"
>writeAddrArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteFloatArray%23"
>writeFloatArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteDoubleArray%23"
>writeDoubleArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteStablePtrArray%23"
>writeStablePtrArray#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteInt8Array%23"
>writeInt8Array#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteInt16Array%23"
>writeInt16Array#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteInt32Array%23"
>writeInt32Array#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteInt64Array%23"
>writeInt64Array#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt64%23"
>Int64#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteWord8Array%23"
>writeWord8Array#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteWord16Array%23"
>writeWord16Array#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteWord32Array%23"
>writeWord32Array#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteWord64Array%23"
>writeWord64Array#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord64%23"
>Word64#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AAddr%23"
>Addr#</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnullAddr%23"
>nullAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AplusAddr%23"
>plusAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AminusAddr%23"
>minusAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AremAddr%23"
>remAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aaddr2Int%23"
>addr2Int#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aint2Addr%23"
>int2Addr#</A
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgtAddr%23"
>gtAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgeAddr%23"
>geAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AeqAddr%23"
>eqAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AneAddr%23"
>neAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AltAddr%23"
>ltAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AleAddr%23"
>leAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexCharOffAddr%23"
>indexCharOffAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexWideCharOffAddr%23"
>indexWideCharOffAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexIntOffAddr%23"
>indexIntOffAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexWordOffAddr%23"
>indexWordOffAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexAddrOffAddr%23"
>indexAddrOffAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexFloatOffAddr%23"
>indexFloatOffAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexDoubleOffAddr%23"
>indexDoubleOffAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexStablePtrOffAddr%23"
>indexStablePtrOffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexInt8OffAddr%23"
>indexInt8OffAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexInt16OffAddr%23"
>indexInt16OffAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexInt32OffAddr%23"
>indexInt32OffAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexInt64OffAddr%23"
>indexInt64OffAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt64%23"
>Int64#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexWord8OffAddr%23"
>indexWord8OffAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexWord16OffAddr%23"
>indexWord16OffAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexWord32OffAddr%23"
>indexWord32OffAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AindexWord64OffAddr%23"
>indexWord64OffAddr#</A
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord64%23"
>Word64#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadCharOffAddr%23"
>readCharOffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadWideCharOffAddr%23"
>readWideCharOffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadIntOffAddr%23"
>readIntOffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadWordOffAddr%23"
>readWordOffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadAddrOffAddr%23"
>readAddrOffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadFloatOffAddr%23"
>readFloatOffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadDoubleOffAddr%23"
>readDoubleOffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadStablePtrOffAddr%23"
>readStablePtrOffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadInt8OffAddr%23"
>readInt8OffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadInt16OffAddr%23"
>readInt16OffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadInt32OffAddr%23"
>readInt32OffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadInt64OffAddr%23"
>readInt64OffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt64%23"
>Int64#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadWord8OffAddr%23"
>readWord8OffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadWord16OffAddr%23"
>readWord16OffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadWord32OffAddr%23"
>readWord32OffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadWord64OffAddr%23"
>readWord64OffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord64%23"
>Word64#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteCharOffAddr%23"
>writeCharOffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteWideCharOffAddr%23"
>writeWideCharOffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteIntOffAddr%23"
>writeIntOffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteWordOffAddr%23"
>writeWordOffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteAddrOffAddr%23"
>writeAddrOffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteFloatOffAddr%23"
>writeFloatOffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteDoubleOffAddr%23"
>writeDoubleOffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteStablePtrOffAddr%23"
>writeStablePtrOffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteInt8OffAddr%23"
>writeInt8OffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteInt16OffAddr%23"
>writeInt16OffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteInt32OffAddr%23"
>writeInt32OffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteInt64OffAddr%23"
>writeInt64OffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt64%23"
>Int64#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteWord8OffAddr%23"
>writeWord8OffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteWord16OffAddr%23"
>writeWord16OffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteWord32OffAddr%23"
>writeWord32OffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteWord64OffAddr%23"
>writeWord64OffAddr#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord64%23"
>Word64#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AMutVar%23"
>MutVar#</A
> s a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewMutVar%23"
>newMutVar#</A
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AMutVar%23"
>MutVar#</A
> s a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadMutVar%23"
>readMutVar#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutVar%23"
>MutVar#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteMutVar%23"
>writeMutVar#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutVar%23"
>MutVar#</A
> s a -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsameMutVar%23"
>sameMutVar#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutVar%23"
>MutVar#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AMutVar%23"
>MutVar#</A
> s a -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AatomicModifyMutVar%23"
>atomicModifyMutVar#</A
> ::  <A HREF="GHC-Prim.html#t%3AMutVar%23"
>MutVar#</A
> s a -&gt; (a -&gt; b) -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, c#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Acatch%23"
>catch#</A
> ::  (<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; (b -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Araise%23"
>raise#</A
> ::  a -&gt; b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AraiseIO%23"
>raiseIO#</A
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, b#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AblockAsyncExceptions%23"
>blockAsyncExceptions#</A
> ::  (<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunblockAsyncExceptions%23"
>unblockAsyncExceptions#</A
> ::  (<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AasyncExceptionsBlocked%23"
>asyncExceptionsBlocked#</A
> :: <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ATVar%23"
>TVar#</A
> s a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aatomically%23"
>atomically#</A
> ::  (<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aretry%23"
>retry#</A
> ::  <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcatchRetry%23"
>catchRetry#</A
> ::  (<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; (<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AcatchSTM%23"
>catchSTM#</A
> ::  (<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; (b -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Acheck%23"
>check#</A
> ::  (<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Unit.html#t%3A%28%29"
>()</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewTVar%23"
>newTVar#</A
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3ATVar%23"
>TVar#</A
> s a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadTVar%23"
>readTVar#</A
> ::  <A HREF="GHC-Prim.html#t%3ATVar%23"
>TVar#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteTVar%23"
>writeTVar#</A
> ::  <A HREF="GHC-Prim.html#t%3ATVar%23"
>TVar#</A
> s a -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsameTVar%23"
>sameTVar#</A
> ::  <A HREF="GHC-Prim.html#t%3ATVar%23"
>TVar#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3ATVar%23"
>TVar#</A
> s a -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AMVar%23"
>MVar#</A
> s a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewMVar%23"
>newMVar#</A
> ::  <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AMVar%23"
>MVar#</A
> s a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtakeMVar%23"
>takeMVar#</A
> ::  <A HREF="GHC-Prim.html#t%3AMVar%23"
>MVar#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtryTakeMVar%23"
>tryTakeMVar#</A
> ::  <A HREF="GHC-Prim.html#t%3AMVar%23"
>MVar#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AputMVar%23"
>putMVar#</A
> ::  <A HREF="GHC-Prim.html#t%3AMVar%23"
>MVar#</A
> s a -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtryPutMVar%23"
>tryPutMVar#</A
> ::  <A HREF="GHC-Prim.html#t%3AMVar%23"
>MVar#</A
> s a -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AsameMVar%23"
>sameMVar#</A
> ::  <A HREF="GHC-Prim.html#t%3AMVar%23"
>MVar#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AMVar%23"
>MVar#</A
> s a -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisEmptyMVar%23"
>isEmptyMVar#</A
> ::  <A HREF="GHC-Prim.html#t%3AMVar%23"
>MVar#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Adelay%23"
>delay#</A
> ::  <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwaitRead%23"
>waitRead#</A
> ::  <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwaitWrite%23"
>waitWrite#</A
> ::  <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ARealWorld"
>RealWorld</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AThreadId%23"
>ThreadId#</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Afork%23"
>fork#</A
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AThreadId%23"
>ThreadId#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AforkOn%23"
>forkOn#</A
> ::  <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AThreadId%23"
>ThreadId#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AkillThread%23"
>killThread#</A
> ::  <A HREF="GHC-Prim.html#t%3AThreadId%23"
>ThreadId#</A
> -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Ayield%23"
>yield#</A
> :: <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmyThreadId%23"
>myThreadId#</A
> :: <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AThreadId%23"
>ThreadId#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AlabelThread%23"
>labelThread#</A
> :: <A HREF="GHC-Prim.html#t%3AThreadId%23"
>ThreadId#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AisCurrentThreadBound%23"
>isCurrentThreadBound#</A
> :: <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnoDuplicate%23"
>noDuplicate#</A
> :: <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AthreadStatus%23"
>threadStatus#</A
> :: <A HREF="GHC-Prim.html#t%3AThreadId%23"
>ThreadId#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AWeak%23"
>Weak#</A
> b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkWeak%23"
>mkWeak#</A
> ::  o -&gt; b -&gt; c -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AWeak%23"
>Weak#</A
> b#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkWeakForeignEnv%23"
>mkWeakForeignEnv#</A
> ::  o -&gt; b -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AWeak%23"
>Weak#</A
> b#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdeRefWeak%23"
>deRefWeak#</A
> ::  <A HREF="GHC-Prim.html#t%3AWeak%23"
>Weak#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfinalizeWeak%23"
>finalizeWeak#</A
> ::  <A HREF="GHC-Prim.html#t%3AWeak%23"
>Weak#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Unit.html#t%3A%28%29"
>()</A
>#)#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Atouch%23"
>touch#</A
> ::  o -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AStablePtr%23"
>StablePtr#</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AStableName%23"
>StableName#</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmakeStablePtr%23"
>makeStablePtr#</A
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdeRefStablePtr%23"
>deRefStablePtr#</A
> ::  <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AeqStablePtr%23"
>eqStablePtr#</A
> ::  <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmakeStableName%23"
>makeStableName#</A
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AStableName%23"
>StableName#</A
> a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AeqStableName%23"
>eqStableName#</A
> ::  <A HREF="GHC-Prim.html#t%3AStableName%23"
>StableName#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AStableName%23"
>StableName#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AstableNameToInt%23"
>stableNameToInt#</A
> ::  <A HREF="GHC-Prim.html#t%3AStableName%23"
>StableName#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreallyUnsafePtrEquality%23"
>reallyUnsafePtrEquality#</A
> ::  a -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Apar%23"
>par#</A
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AparGlobal%23"
>parGlobal#</A
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; b -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AparLocal%23"
>parLocal#</A
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; b -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AparAt%23"
>parAt#</A
> ::  b -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; c -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AparAtAbs%23"
>parAtAbs#</A
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; b -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AparAtRel%23"
>parAtRel#</A
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; b -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AparAtForNow%23"
>parAtForNow#</A
> ::  b -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; c -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AdataToTag%23"
>dataToTag#</A
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AtagToEnum%23"
>tagToEnum#</A
> ::  <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3ABCO%23"
>BCO#</A
> </TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AaddrToHValue%23"
>addrToHValue#</A
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; (#a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmkApUpd0%23"
>mkApUpd0#</A
> ::  <A HREF="GHC-Prim.html#t%3ABCO%23"
>BCO#</A
> -&gt; (#a#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewBCO%23"
>newBCO#</A
> ::  <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AArray%23"
>Array#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3ABCO%23"
>BCO#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunpackClosure%23"
>unpackClosure#</A
> ::  a -&gt; (#<A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
>, <A HREF="GHC-Prim.html#t%3AArray%23"
>Array#</A
> b, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetApStackVal%23"
>getApStackVal#</A
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, b#)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aseq"
>seq</A
> ::  a -&gt; b -&gt; b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Ainline"
>inline</A
> ::  a -&gt; a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Alazy"
>lazy</A
> ::  a -&gt; a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A HREF="#t%3AAny"
>Any</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunsafeCoerce%23"
>unsafeCoerce#</A
> ::  a -&gt; b</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
><A NAME="1"
>The word size story.
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Haskell98 specifies that signed integers (type <TT
>Int</TT
>)
 	 must contain at least 30 bits. GHC always implements <TT
>Int</TT
> using the primitive type <TT
>Int#</TT
>, whose size equals
 	 the <TT
>MachDeps.h</TT
> constant <TT
>WORD_SIZE_IN_BITS</TT
>.
 	 This is normally set based on the <TT
>config.h</TT
> parameter
 	 <TT
>SIZEOF_HSWORD</TT
>, i.e., 32 bits on 32-bit machines, 64
 	 bits on 64-bit machines.  However, it can also be explicitly
 	 set to a smaller number, e.g., 31 bits, to allow the
 	 possibility of using tag bits. Currently GHC itself has only
 	 32-bit and 64-bit variants, but 30 or 31-bit code can be
 	 exported as an external core file for use in other back ends.
</P
><P
>GHC also implements a primitive unsigned integer type <TT
>Word#</TT
> which always has the same number of bits as <TT
>Int#</TT
>.
</P
><P
>In addition, GHC supports families of explicit-sized integers
 	 and words at 8, 16, 32, and 64 bits, with the usual
 	 arithmetic operations, comparisons, and a range of
 	 conversions.  The 8-bit and 16-bit sizes are always
 	 represented as <TT
>Int#</TT
> and <TT
>Word#</TT
>, and the
 	 operations implemented in terms of the the primops on these
 	 types, with suitable range restrictions on the results (using
 	 the <TT
>narrow$n$Int#</TT
> and <TT
>narrow$n$Word#</TT
> families
 	 of primops.  The 32-bit sizes are represented using <TT
>Int#</TT
> and <TT
>Word#</TT
> when <TT
>WORD_SIZE_IN_BITS</TT
>
 	 $geq$ 32; otherwise, these are represented using distinct
 	 primitive types <TT
>Int32#</TT
> and <TT
>Word32#</TT
>. These (when
 	 needed) have a complete set of corresponding operations;
 	 however, nearly all of these are implemented as external C
 	 functions rather than as primops.  Exactly the same story
 	 applies to the 64-bit sizes.  All of these details are hidden
 	 under the <TT
>PrelInt</TT
> and <TT
>PrelWord</TT
> modules, which use
 	 <TT
>#if</TT
>-defs to invoke the appropriate types and
 	 operators.
</P
><P
>Word size also matters for the families of primops for
 	 indexing/reading/writing fixed-size quantities at offsets
 	 from an array base, address, or foreign pointer.  Here, a
 	 slightly different approach is taken.  The names of these
 	 primops are fixed, but their <EM
>types</EM
> vary according to
 	 the value of <TT
>WORD_SIZE_IN_BITS</TT
>. For example, if word
 	 size is at least 32 bits then an operator like
 	 <TT
>indexInt32Array#</TT
> has type <TT
>ByteArray# -&gt; Int# 	 -&gt; Int#</TT
>; otherwise it has type <TT
>ByteArray# -&gt; Int# -&gt; 	 Int32#</TT
>.  This approach confines the necessary <TT
>#if</TT
>-defs to this file; no conditional compilation is needed
 	 in the files that expose these primops.
</P
><P
>Finally, there are strongly deprecated primops for coercing
          between <TT
>Addr#</TT
>, the primitive type of machine
          addresses, and <TT
>Int#</TT
>.  These are pretty bogus anyway,
          but will work on existing 32-bit and 64-bit GHC targets; they
          are completely bogus when tag bits are used in <TT
>Int#</TT
>,
          so are not available in this case.  
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="2"
><A NAME="2"
>Char#
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>Operations on 31-bit characters.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Char#"
><A NAME="t%3AChar%23"
></A
></A
><B
>Char#</B
>  </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gtChar#"
><A NAME="v%3AgtChar%23"
></A
></A
><B
>gtChar#</B
> :: <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:geChar#"
><A NAME="v%3AgeChar%23"
></A
></A
><B
>geChar#</B
> :: <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:eqChar#"
><A NAME="v%3AeqChar%23"
></A
></A
><B
>eqChar#</B
> :: <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:neChar#"
><A NAME="v%3AneChar%23"
></A
></A
><B
>neChar#</B
> :: <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:ltChar#"
><A NAME="v%3AltChar%23"
></A
></A
><B
>ltChar#</B
> :: <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:leChar#"
><A NAME="v%3AleChar%23"
></A
></A
><B
>leChar#</B
> :: <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:ord#"
><A NAME="v%3Aord%23"
></A
></A
><B
>ord#</B
> :: <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="3"
><A NAME="3"
>Int#
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>Operations on native-size integers (30+ bits).
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Int#"
><A NAME="t%3AInt%23"
></A
></A
><B
>Int#</B
>  </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:+#"
><A NAME="v%3A%2B%23"
></A
></A
><B
>(+#)</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:-#"
><A NAME="v%3A-%23"
></A
></A
><B
>(-#)</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:*#"
><A NAME="v%3A%2A%23"
></A
></A
><B
>(*#)</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Low word of signed integer multiply.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mulIntMayOflo#"
><A NAME="v%3AmulIntMayOflo%23"
></A
></A
><B
>mulIntMayOflo#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Return non-zero if there is any possibility that the upper word of a
     signed integer multiply might contain useful information.  Return
     zero only if you are completely sure that no overflow can occur.
     On a 32-bit platform, the recommmended implementation is to do a 
     32 x 32 -&gt; 64 signed multiply, and subtract result[63:32] from
     (result[31] &gt;&gt;signed 31).  If this is zero, meaning that the 
     upper word is merely a sign extension of the lower one, no
     overflow can occur.
</P
><P
>On a 64-bit platform it is not always possible to 
     acquire the top 64 bits of the result.  Therefore, a recommended 
     implementation is to take the absolute value of both operands, and 
     return 0 iff bits[63:31] of them are zero, since that means that their 
     magnitudes fit within 31 bits, so the magnitude of the product must fit 
     into 62 bits.
</P
><P
>If in doubt, return non-zero, but do make an effort to create the
     correct answer for small args, since otherwise the performance of
     <TT
>(*) :: Integer -&gt; Integer -&gt; Integer</TT
> will be poor.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:quotInt#"
><A NAME="v%3AquotInt%23"
></A
></A
><B
>quotInt#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Rounds towards zero.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:remInt#"
><A NAME="v%3AremInt%23"
></A
></A
><B
>remInt#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Satisfies <TT
>(quotInt# x y) *# y +# (remInt# x y) == x</TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gcdInt#"
><A NAME="v%3AgcdInt%23"
></A
></A
><B
>gcdInt#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:negateInt#"
><A NAME="v%3AnegateInt%23"
></A
></A
><B
>negateInt#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:addIntC#"
><A NAME="v%3AaddIntC%23"
></A
></A
><B
>addIntC#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="doc"
>Add with carry.  First member of result is (wrapped) sum; 
           second member is 0 iff no overflow occured.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:subIntC#"
><A NAME="v%3AsubIntC%23"
></A
></A
><B
>subIntC#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="doc"
>Subtract with carry.  First member of result is (wrapped) difference; 
           second member is 0 iff no overflow occured.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:>#"
><A NAME="v%3A%3E%23"
></A
></A
><B
>(&gt;#)</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:>=#"
><A NAME="v%3A%3E%3D%23"
></A
></A
><B
>(&gt;=#)</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:==#"
><A NAME="v%3A%3D%3D%23"
></A
></A
><B
>(==#)</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:/=#"
><A NAME="v%3A%2F%3D%23"
></A
></A
><B
>(/=#)</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:<#"
><A NAME="v%3A%3C%23"
></A
></A
><B
>(&lt;#)</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:<=#"
><A NAME="v%3A%3C%3D%23"
></A
></A
><B
>(&lt;=#)</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:chr#"
><A NAME="v%3Achr%23"
></A
></A
><B
>chr#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:int2Word#"
><A NAME="v%3Aint2Word%23"
></A
></A
><B
>int2Word#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:int2Float#"
><A NAME="v%3Aint2Float%23"
></A
></A
><B
>int2Float#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:int2Double#"
><A NAME="v%3Aint2Double%23"
></A
></A
><B
>int2Double#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:int2Integer#"
><A NAME="v%3Aint2Integer%23"
></A
></A
><B
>int2Integer#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:uncheckedIShiftL#"
><A NAME="v%3AuncheckedIShiftL%23"
></A
></A
><B
>uncheckedIShiftL#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Shift left.  Result undefined if shift amount is not
           in the range 0 to word size - 1 inclusive.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:uncheckedIShiftRA#"
><A NAME="v%3AuncheckedIShiftRA%23"
></A
></A
><B
>uncheckedIShiftRA#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Shift right arithmetic.  Result undefined if shift amount is not
           in the range 0 to word size - 1 inclusive.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:uncheckedIShiftRL#"
><A NAME="v%3AuncheckedIShiftRL%23"
></A
></A
><B
>uncheckedIShiftRL#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Shift right logical.  Result undefined if shift amount is not
           in the range 0 to word size - 1 inclusive.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="4"
><A NAME="4"
>Word#
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>Operations on native-sized unsigned words (30+ bits).
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Word#"
><A NAME="t%3AWord%23"
></A
></A
><B
>Word#</B
>  </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:plusWord#"
><A NAME="v%3AplusWord%23"
></A
></A
><B
>plusWord#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:minusWord#"
><A NAME="v%3AminusWord%23"
></A
></A
><B
>minusWord#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:timesWord#"
><A NAME="v%3AtimesWord%23"
></A
></A
><B
>timesWord#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:quotWord#"
><A NAME="v%3AquotWord%23"
></A
></A
><B
>quotWord#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:remWord#"
><A NAME="v%3AremWord%23"
></A
></A
><B
>remWord#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:and#"
><A NAME="v%3Aand%23"
></A
></A
><B
>and#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:or#"
><A NAME="v%3Aor%23"
></A
></A
><B
>or#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:xor#"
><A NAME="v%3Axor%23"
></A
></A
><B
>xor#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:not#"
><A NAME="v%3Anot%23"
></A
></A
><B
>not#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:uncheckedShiftL#"
><A NAME="v%3AuncheckedShiftL%23"
></A
></A
><B
>uncheckedShiftL#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Shift left logical.   Result undefined if shift amount is not
           in the range 0 to word size - 1 inclusive.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:uncheckedShiftRL#"
><A NAME="v%3AuncheckedShiftRL%23"
></A
></A
><B
>uncheckedShiftRL#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Shift right logical.   Result undefined if shift  amount is not
           in the range 0 to word size - 1 inclusive.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:word2Int#"
><A NAME="v%3Aword2Int%23"
></A
></A
><B
>word2Int#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:word2Integer#"
><A NAME="v%3Aword2Integer%23"
></A
></A
><B
>word2Integer#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gtWord#"
><A NAME="v%3AgtWord%23"
></A
></A
><B
>gtWord#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:geWord#"
><A NAME="v%3AgeWord%23"
></A
></A
><B
>geWord#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:eqWord#"
><A NAME="v%3AeqWord%23"
></A
></A
><B
>eqWord#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:neWord#"
><A NAME="v%3AneWord%23"
></A
></A
><B
>neWord#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:ltWord#"
><A NAME="v%3AltWord%23"
></A
></A
><B
>ltWord#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:leWord#"
><A NAME="v%3AleWord%23"
></A
></A
><B
>leWord#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="5"
><A NAME="5"
>Narrowings
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>Explicit narrowing of native-sized ints or words.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:narrow8Int#"
><A NAME="v%3Anarrow8Int%23"
></A
></A
><B
>narrow8Int#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:narrow16Int#"
><A NAME="v%3Anarrow16Int%23"
></A
></A
><B
>narrow16Int#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:narrow32Int#"
><A NAME="v%3Anarrow32Int%23"
></A
></A
><B
>narrow32Int#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:narrow8Word#"
><A NAME="v%3Anarrow8Word%23"
></A
></A
><B
>narrow8Word#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:narrow16Word#"
><A NAME="v%3Anarrow16Word%23"
></A
></A
><B
>narrow16Word#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:narrow32Word#"
><A NAME="v%3Anarrow32Word%23"
></A
></A
><B
>narrow32Word#</B
> :: <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="6"
><A NAME="6"
>Int64#
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>Operations on 64-bit unsigned words. This type is only used 
 	 if plain <TT
>Int#</TT
> has less than 64 bits. In any case, the operations
 	 are not primops; they are implemented (if needed) as ccalls instead.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Int64#"
><A NAME="t%3AInt64%23"
></A
></A
><B
>Int64#</B
>  </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:int64ToInteger#"
><A NAME="v%3Aint64ToInteger%23"
></A
></A
><B
>int64ToInteger#</B
> :: <A HREF="GHC-Prim.html#t%3AInt64%23"
>Int64#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="7"
><A NAME="7"
>Word64#
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>Operations on 64-bit unsigned words. This type is only used 
 	 if plain <TT
>Word#</TT
> has less than 64 bits. In any case, the operations
 	 are not primops; they are implemented (if needed) as ccalls instead.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Word64#"
><A NAME="t%3AWord64%23"
></A
></A
><B
>Word64#</B
>  </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:word64ToInteger#"
><A NAME="v%3Aword64ToInteger%23"
></A
></A
><B
>word64ToInteger#</B
> :: <A HREF="GHC-Prim.html#t%3AWord64%23"
>Word64#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="8"
><A NAME="8"
>Integer#
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
><P
>Operations on arbitrary-precision integers. These operations are 
 implemented via the GMP package. An integer is represented as a pair
 consisting of an <TT
>Int#</TT
> representing the number of 'limbs' in use and
 the sign, and a <TT
>ByteArray#</TT
> containing the 'limbs' themselves.  Such pairs
 are returned as unboxed pairs, but must be passed as separate
 components.
</P
><P
>For .NET these operations are implemented by foreign imports, so the
 primops are omitted.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:plusInteger#"
><A NAME="v%3AplusInteger%23"
></A
></A
><B
>plusInteger#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:minusInteger#"
><A NAME="v%3AminusInteger%23"
></A
></A
><B
>minusInteger#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:timesInteger#"
><A NAME="v%3AtimesInteger%23"
></A
></A
><B
>timesInteger#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gcdInteger#"
><A NAME="v%3AgcdInteger%23"
></A
></A
><B
>gcdInteger#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="doc"
>Greatest common divisor.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gcdIntegerInt#"
><A NAME="v%3AgcdIntegerInt%23"
></A
></A
><B
>gcdIntegerInt#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Greatest common divisor, where second argument is an ordinary <TT
>Int#</TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:divExactInteger#"
><A NAME="v%3AdivExactInteger%23"
></A
></A
><B
>divExactInteger#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="doc"
>Divisor is guaranteed to be a factor of dividend.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:quotInteger#"
><A NAME="v%3AquotInteger%23"
></A
></A
><B
>quotInteger#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="doc"
>Rounds towards zero.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:remInteger#"
><A NAME="v%3AremInteger%23"
></A
></A
><B
>remInteger#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="doc"
>Satisfies <TT
>plusInteger# (timesInteger# (quotInteger# x y) y) (remInteger# x y) == x</TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:cmpInteger#"
><A NAME="v%3AcmpInteger%23"
></A
></A
><B
>cmpInteger#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Returns -1,0,1 according as first argument is less than, equal to, or greater than second argument.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:cmpIntegerInt#"
><A NAME="v%3AcmpIntegerInt%23"
></A
></A
><B
>cmpIntegerInt#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Returns -1,0,1 according as first argument is less than, equal to, or greater than second argument, which
    is an ordinary Int#.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:quotRemInteger#"
><A NAME="v%3AquotRemInteger%23"
></A
></A
><B
>quotRemInteger#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="doc"
>Compute quot and rem simulaneously.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:divModInteger#"
><A NAME="v%3AdivModInteger%23"
></A
></A
><B
>divModInteger#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="doc"
>Compute div and mod simultaneously, where div rounds towards negative infinity
     and<TT
>(q,r) = divModInteger#(x,y)</TT
> implies <TT
>plusInteger# (timesInteger# q y) r = x</TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:integer2Int#"
><A NAME="v%3Ainteger2Int%23"
></A
></A
><B
>integer2Int#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:integer2Word#"
><A NAME="v%3Ainteger2Word%23"
></A
></A
><B
>integer2Word#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:andInteger#"
><A NAME="v%3AandInteger%23"
></A
></A
><B
>andInteger#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:orInteger#"
><A NAME="v%3AorInteger%23"
></A
></A
><B
>orInteger#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:xorInteger#"
><A NAME="v%3AxorInteger%23"
></A
></A
><B
>xorInteger#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:complementInteger#"
><A NAME="v%3AcomplementInteger%23"
></A
></A
><B
>complementInteger#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="9"
><A NAME="9"
>Double#
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>Operations on double-precision (64 bit) floating-point numbers.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Double#"
><A NAME="t%3ADouble%23"
></A
></A
><B
>Double#</B
>  </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:>##"
><A NAME="v%3A%3E%23%23"
></A
></A
><B
>(&gt;##)</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:>=##"
><A NAME="v%3A%3E%3D%23%23"
></A
></A
><B
>(&gt;=##)</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:==##"
><A NAME="v%3A%3D%3D%23%23"
></A
></A
><B
>(==##)</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:/=##"
><A NAME="v%3A%2F%3D%23%23"
></A
></A
><B
>(/=##)</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:<##"
><A NAME="v%3A%3C%23%23"
></A
></A
><B
>(&lt;##)</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:<=##"
><A NAME="v%3A%3C%3D%23%23"
></A
></A
><B
>(&lt;=##)</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:+##"
><A NAME="v%3A%2B%23%23"
></A
></A
><B
>(+##)</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:-##"
><A NAME="v%3A-%23%23"
></A
></A
><B
>(-##)</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:*##"
><A NAME="v%3A%2A%23%23"
></A
></A
><B
>(*##)</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:/##"
><A NAME="v%3A%2F%23%23"
></A
></A
><B
>(/##)</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:negateDouble#"
><A NAME="v%3AnegateDouble%23"
></A
></A
><B
>negateDouble#</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:double2Int#"
><A NAME="v%3Adouble2Int%23"
></A
></A
><B
>double2Int#</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Truncates a <TT
>Double<A NAME="@ value to the nearest @Int"
><A NAME="%40%20value%20to%20the%20nearest%20%40Int"
></A
></A
></TT
>.
     Results are undefined if the truncation if truncation yields
     a value outside the range of <TT
>Int#</TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:double2Float#"
><A NAME="v%3Adouble2Float%23"
></A
></A
><B
>double2Float#</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:expDouble#"
><A NAME="v%3AexpDouble%23"
></A
></A
><B
>expDouble#</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:logDouble#"
><A NAME="v%3AlogDouble%23"
></A
></A
><B
>logDouble#</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sqrtDouble#"
><A NAME="v%3AsqrtDouble%23"
></A
></A
><B
>sqrtDouble#</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sinDouble#"
><A NAME="v%3AsinDouble%23"
></A
></A
><B
>sinDouble#</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:cosDouble#"
><A NAME="v%3AcosDouble%23"
></A
></A
><B
>cosDouble#</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tanDouble#"
><A NAME="v%3AtanDouble%23"
></A
></A
><B
>tanDouble#</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:asinDouble#"
><A NAME="v%3AasinDouble%23"
></A
></A
><B
>asinDouble#</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:acosDouble#"
><A NAME="v%3AacosDouble%23"
></A
></A
><B
>acosDouble#</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:atanDouble#"
><A NAME="v%3AatanDouble%23"
></A
></A
><B
>atanDouble#</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sinhDouble#"
><A NAME="v%3AsinhDouble%23"
></A
></A
><B
>sinhDouble#</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:coshDouble#"
><A NAME="v%3AcoshDouble%23"
></A
></A
><B
>coshDouble#</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tanhDouble#"
><A NAME="v%3AtanhDouble%23"
></A
></A
><B
>tanhDouble#</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:**##"
><A NAME="v%3A%2A%2A%23%23"
></A
></A
><B
>(**##)</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Exponentiation.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:decodeDouble#"
><A NAME="v%3AdecodeDouble%23"
></A
></A
><B
>decodeDouble#</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="doc"
>Convert to arbitrary-precision integer.
     First <TT
>Int#</TT
> in result is the exponent; second <TT
>Int#</TT
> and <TT
>ByteArray#</TT
>
     represent an <TT
>Integer#</TT
> holding the mantissa.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:decodeDouble_2Int#"
><A NAME="v%3AdecodeDouble_2Int%23"
></A
></A
><B
>decodeDouble_2Int#</B
> :: <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="doc"
>Convert to arbitrary-precision integer.
     First component of the result is -1 or 1, indicating the sign of the
     mantissa. The next two are the high and low 32 bits of the mantissa
     respectively, and the last is the exponent.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="10"
><A NAME="10"
>Float#
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>Operations on single-precision (32-bit) floating-point numbers.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Float#"
><A NAME="t%3AFloat%23"
></A
></A
><B
>Float#</B
>  </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gtFloat#"
><A NAME="v%3AgtFloat%23"
></A
></A
><B
>gtFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:geFloat#"
><A NAME="v%3AgeFloat%23"
></A
></A
><B
>geFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:eqFloat#"
><A NAME="v%3AeqFloat%23"
></A
></A
><B
>eqFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:neFloat#"
><A NAME="v%3AneFloat%23"
></A
></A
><B
>neFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:ltFloat#"
><A NAME="v%3AltFloat%23"
></A
></A
><B
>ltFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:leFloat#"
><A NAME="v%3AleFloat%23"
></A
></A
><B
>leFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:plusFloat#"
><A NAME="v%3AplusFloat%23"
></A
></A
><B
>plusFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:minusFloat#"
><A NAME="v%3AminusFloat%23"
></A
></A
><B
>minusFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:timesFloat#"
><A NAME="v%3AtimesFloat%23"
></A
></A
><B
>timesFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:divideFloat#"
><A NAME="v%3AdivideFloat%23"
></A
></A
><B
>divideFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:negateFloat#"
><A NAME="v%3AnegateFloat%23"
></A
></A
><B
>negateFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:float2Int#"
><A NAME="v%3Afloat2Int%23"
></A
></A
><B
>float2Int#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Truncates a <TT
>Float<A NAME="@ value to the nearest @Int"
><A NAME="%40%20value%20to%20the%20nearest%20%40Int"
></A
></A
></TT
>.
     Results are undefined if the truncation if truncation yields
     a value outside the range of <TT
>Int#</TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:expFloat#"
><A NAME="v%3AexpFloat%23"
></A
></A
><B
>expFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:logFloat#"
><A NAME="v%3AlogFloat%23"
></A
></A
><B
>logFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sqrtFloat#"
><A NAME="v%3AsqrtFloat%23"
></A
></A
><B
>sqrtFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sinFloat#"
><A NAME="v%3AsinFloat%23"
></A
></A
><B
>sinFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:cosFloat#"
><A NAME="v%3AcosFloat%23"
></A
></A
><B
>cosFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tanFloat#"
><A NAME="v%3AtanFloat%23"
></A
></A
><B
>tanFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:asinFloat#"
><A NAME="v%3AasinFloat%23"
></A
></A
><B
>asinFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:acosFloat#"
><A NAME="v%3AacosFloat%23"
></A
></A
><B
>acosFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:atanFloat#"
><A NAME="v%3AatanFloat%23"
></A
></A
><B
>atanFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sinhFloat#"
><A NAME="v%3AsinhFloat%23"
></A
></A
><B
>sinhFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:coshFloat#"
><A NAME="v%3AcoshFloat%23"
></A
></A
><B
>coshFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tanhFloat#"
><A NAME="v%3AtanhFloat%23"
></A
></A
><B
>tanhFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:powerFloat#"
><A NAME="v%3ApowerFloat%23"
></A
></A
><B
>powerFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:float2Double#"
><A NAME="v%3Afloat2Double%23"
></A
></A
><B
>float2Double#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:decodeFloat#"
><A NAME="v%3AdecodeFloat%23"
></A
></A
><B
>decodeFloat#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="doc"
>Convert to arbitrary-precision integer.
     First <TT
>Int#</TT
> in result is the exponent; second <TT
>Int#</TT
> and <TT
>ByteArray#</TT
>
     represent an <TT
>Integer#</TT
> holding the mantissa.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:decodeFloat_Int#"
><A NAME="v%3AdecodeFloat_Int%23"
></A
></A
><B
>decodeFloat_Int#</B
> :: <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="doc"
>Convert to arbitrary-precision integer.
     First <TT
>Int#</TT
> in result is the mantissa; second is the exponent.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="11"
><A NAME="11"
>Arrays
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>Operations on <TT
>Array#</TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Array#"
><A NAME="t%3AArray%23"
></A
></A
><B
>Array#</B
> a </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:MutableArray#"
><A NAME="t%3AMutableArray%23"
></A
></A
><B
>MutableArray#</B
> s a </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newArray#"
><A NAME="v%3AnewArray%23"
></A
></A
><B
>newArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AMutableArray%23"
>MutableArray#</A
> s a#)</TD
></TR
><TR
><TD CLASS="doc"
>Create a new mutable array of specified size (in bytes),
     in the specified state thread,
     with each element containing the specified initial value.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sameMutableArray#"
><A NAME="v%3AsameMutableArray%23"
></A
></A
><B
>sameMutableArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableArray%23"
>MutableArray#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AMutableArray%23"
>MutableArray#</A
> s a -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readArray#"
><A NAME="v%3AreadArray%23"
></A
></A
><B
>readArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableArray%23"
>MutableArray#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, a#)</TD
></TR
><TR
><TD CLASS="doc"
>Read from specified index of mutable array. Result is not yet evaluated.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeArray#"
><A NAME="v%3AwriteArray%23"
></A
></A
><B
>writeArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableArray%23"
>MutableArray#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="doc"
>Write to specified index of mutable array.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexArray#"
><A NAME="v%3AindexArray%23"
></A
></A
><B
>indexArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AArray%23"
>Array#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; (#a#)</TD
></TR
><TR
><TD CLASS="doc"
>Read from specified index of immutable array. Result is packaged into
     an unboxed singleton; the result itself is not yet evaluated.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unsafeFreezeArray#"
><A NAME="v%3AunsafeFreezeArray%23"
></A
></A
><B
>unsafeFreezeArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableArray%23"
>MutableArray#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AArray%23"
>Array#</A
> a#)</TD
></TR
><TR
><TD CLASS="doc"
>Make a mutable array immutable, without copying.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unsafeThawArray#"
><A NAME="v%3AunsafeThawArray%23"
></A
></A
><B
>unsafeThawArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AArray%23"
>Array#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AMutableArray%23"
>MutableArray#</A
> s a#)</TD
></TR
><TR
><TD CLASS="doc"
>Make an immutable array mutable, without copying.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="12"
><A NAME="12"
>Byte Arrays
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>Operations on <TT
>ByteArray#</TT
>. A <TT
>ByteArray#</TT
> is a just a region of
          raw memory in the garbage-collected heap, which is not scanned
          for pointers. It carries its own size (in bytes). There are
 	 three sets of operations for accessing byte array contents:
 	 index for reading from immutable byte arrays, and read/write
 	 for mutable byte arrays.  Each set contains operations for 
 	 a range of useful primitive data types.  Each operation takes	
 	 an offset measured in terms of the size fo the primitive type
 	 being read or written.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ByteArray#"
><A NAME="t%3AByteArray%23"
></A
></A
><B
>ByteArray#</B
>  </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:MutableByteArray#"
><A NAME="t%3AMutableByteArray%23"
></A
></A
><B
>MutableByteArray#</B
> s </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newByteArray#"
><A NAME="v%3AnewByteArray%23"
></A
></A
><B
>newByteArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s#)</TD
></TR
><TR
><TD CLASS="doc"
>Create a new mutable byte array of specified size (in bytes), in
     the specified state thread.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newPinnedByteArray#"
><A NAME="v%3AnewPinnedByteArray%23"
></A
></A
><B
>newPinnedByteArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s#)</TD
></TR
><TR
><TD CLASS="doc"
>Create a mutable byte array that the GC guarantees not to move.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newAlignedPinnedByteArray#"
><A NAME="v%3AnewAlignedPinnedByteArray%23"
></A
></A
><B
>newAlignedPinnedByteArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s#)</TD
></TR
><TR
><TD CLASS="doc"
>Create a mutable byte array, aligned by the specified amount, that the GC guarantees not to move.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:byteArrayContents#"
><A NAME="v%3AbyteArrayContents%23"
></A
></A
><B
>byteArrayContents#</B
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Intended for use with pinned arrays; otherwise very unsafe!
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sameMutableByteArray#"
><A NAME="v%3AsameMutableByteArray%23"
></A
></A
><B
>sameMutableByteArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unsafeFreezeByteArray#"
><A NAME="v%3AunsafeFreezeByteArray%23"
></A
></A
><B
>unsafeFreezeByteArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="doc"
>Make a mutable byte array immutable, without copying.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sizeofByteArray#"
><A NAME="v%3AsizeofByteArray%23"
></A
></A
><B
>sizeofByteArray#</B
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sizeofMutableByteArray#"
><A NAME="v%3AsizeofMutableByteArray%23"
></A
></A
><B
>sizeofMutableByteArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexCharArray#"
><A NAME="v%3AindexCharArray%23"
></A
></A
><B
>indexCharArray#</B
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Read 8-bit character; offset in bytes.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexWideCharArray#"
><A NAME="v%3AindexWideCharArray%23"
></A
></A
><B
>indexWideCharArray#</B
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Read 31-bit character; offset in 4-byte words.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexIntArray#"
><A NAME="v%3AindexIntArray%23"
></A
></A
><B
>indexIntArray#</B
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexWordArray#"
><A NAME="v%3AindexWordArray%23"
></A
></A
><B
>indexWordArray#</B
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexAddrArray#"
><A NAME="v%3AindexAddrArray%23"
></A
></A
><B
>indexAddrArray#</B
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexFloatArray#"
><A NAME="v%3AindexFloatArray%23"
></A
></A
><B
>indexFloatArray#</B
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexDoubleArray#"
><A NAME="v%3AindexDoubleArray%23"
></A
></A
><B
>indexDoubleArray#</B
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexStablePtrArray#"
><A NAME="v%3AindexStablePtrArray%23"
></A
></A
><B
>indexStablePtrArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexInt8Array#"
><A NAME="v%3AindexInt8Array%23"
></A
></A
><B
>indexInt8Array#</B
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexInt16Array#"
><A NAME="v%3AindexInt16Array%23"
></A
></A
><B
>indexInt16Array#</B
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexInt32Array#"
><A NAME="v%3AindexInt32Array%23"
></A
></A
><B
>indexInt32Array#</B
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexInt64Array#"
><A NAME="v%3AindexInt64Array%23"
></A
></A
><B
>indexInt64Array#</B
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt64%23"
>Int64#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexWord8Array#"
><A NAME="v%3AindexWord8Array%23"
></A
></A
><B
>indexWord8Array#</B
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexWord16Array#"
><A NAME="v%3AindexWord16Array%23"
></A
></A
><B
>indexWord16Array#</B
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexWord32Array#"
><A NAME="v%3AindexWord32Array%23"
></A
></A
><B
>indexWord32Array#</B
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexWord64Array#"
><A NAME="v%3AindexWord64Array%23"
></A
></A
><B
>indexWord64Array#</B
> :: <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord64%23"
>Word64#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readCharArray#"
><A NAME="v%3AreadCharArray%23"
></A
></A
><B
>readCharArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
>#)</TD
></TR
><TR
><TD CLASS="doc"
>Read 8-bit character; offset in bytes.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readWideCharArray#"
><A NAME="v%3AreadWideCharArray%23"
></A
></A
><B
>readWideCharArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
>#)</TD
></TR
><TR
><TD CLASS="doc"
>Read 31-bit character; offset in 4-byte words.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readIntArray#"
><A NAME="v%3AreadIntArray%23"
></A
></A
><B
>readIntArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readWordArray#"
><A NAME="v%3AreadWordArray%23"
></A
></A
><B
>readWordArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readAddrArray#"
><A NAME="v%3AreadAddrArray%23"
></A
></A
><B
>readAddrArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readFloatArray#"
><A NAME="v%3AreadFloatArray%23"
></A
></A
><B
>readFloatArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readDoubleArray#"
><A NAME="v%3AreadDoubleArray%23"
></A
></A
><B
>readDoubleArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readStablePtrArray#"
><A NAME="v%3AreadStablePtrArray%23"
></A
></A
><B
>readStablePtrArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readInt8Array#"
><A NAME="v%3AreadInt8Array%23"
></A
></A
><B
>readInt8Array#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readInt16Array#"
><A NAME="v%3AreadInt16Array%23"
></A
></A
><B
>readInt16Array#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readInt32Array#"
><A NAME="v%3AreadInt32Array%23"
></A
></A
><B
>readInt32Array#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readInt64Array#"
><A NAME="v%3AreadInt64Array%23"
></A
></A
><B
>readInt64Array#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt64%23"
>Int64#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readWord8Array#"
><A NAME="v%3AreadWord8Array%23"
></A
></A
><B
>readWord8Array#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readWord16Array#"
><A NAME="v%3AreadWord16Array%23"
></A
></A
><B
>readWord16Array#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readWord32Array#"
><A NAME="v%3AreadWord32Array%23"
></A
></A
><B
>readWord32Array#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readWord64Array#"
><A NAME="v%3AreadWord64Array%23"
></A
></A
><B
>readWord64Array#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord64%23"
>Word64#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeCharArray#"
><A NAME="v%3AwriteCharArray%23"
></A
></A
><B
>writeCharArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="doc"
>Write 8-bit character; offset in bytes.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeWideCharArray#"
><A NAME="v%3AwriteWideCharArray%23"
></A
></A
><B
>writeWideCharArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="doc"
>Write 31-bit character; offset in 4-byte words.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeIntArray#"
><A NAME="v%3AwriteIntArray%23"
></A
></A
><B
>writeIntArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeWordArray#"
><A NAME="v%3AwriteWordArray%23"
></A
></A
><B
>writeWordArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeAddrArray#"
><A NAME="v%3AwriteAddrArray%23"
></A
></A
><B
>writeAddrArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeFloatArray#"
><A NAME="v%3AwriteFloatArray%23"
></A
></A
><B
>writeFloatArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeDoubleArray#"
><A NAME="v%3AwriteDoubleArray%23"
></A
></A
><B
>writeDoubleArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeStablePtrArray#"
><A NAME="v%3AwriteStablePtrArray%23"
></A
></A
><B
>writeStablePtrArray#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeInt8Array#"
><A NAME="v%3AwriteInt8Array%23"
></A
></A
><B
>writeInt8Array#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeInt16Array#"
><A NAME="v%3AwriteInt16Array%23"
></A
></A
><B
>writeInt16Array#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeInt32Array#"
><A NAME="v%3AwriteInt32Array%23"
></A
></A
><B
>writeInt32Array#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeInt64Array#"
><A NAME="v%3AwriteInt64Array%23"
></A
></A
><B
>writeInt64Array#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt64%23"
>Int64#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeWord8Array#"
><A NAME="v%3AwriteWord8Array%23"
></A
></A
><B
>writeWord8Array#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeWord16Array#"
><A NAME="v%3AwriteWord16Array%23"
></A
></A
><B
>writeWord16Array#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeWord32Array#"
><A NAME="v%3AwriteWord32Array%23"
></A
></A
><B
>writeWord32Array#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeWord64Array#"
><A NAME="v%3AwriteWord64Array%23"
></A
></A
><B
>writeWord64Array#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutableByteArray%23"
>MutableByteArray#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord64%23"
>Word64#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="13"
><A NAME="13"
>Addr#
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Addr#"
><A NAME="t%3AAddr%23"
></A
></A
><B
>Addr#</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>An arbitrary machine address assumed to point outside
 	 the garbage-collected heap. 
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:nullAddr#"
><A NAME="v%3AnullAddr%23"
></A
></A
><B
>nullAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
></TD
></TR
><TR
><TD CLASS="doc"
>The null address. 
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:plusAddr#"
><A NAME="v%3AplusAddr%23"
></A
></A
><B
>plusAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:minusAddr#"
><A NAME="v%3AminusAddr%23"
></A
></A
><B
>minusAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Result is meaningless if two <TT
>Addr#</TT
>s are so far apart that their
 	 difference doesn't fit in an <TT
>Int#</TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:remAddr#"
><A NAME="v%3AremAddr%23"
></A
></A
><B
>remAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Return the remainder when the <TT
>Addr#</TT
> arg, treated like an <TT
>Int#</TT
>,
 	  is divided by the <TT
>Int#</TT
> arg.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:addr2Int#"
><A NAME="v%3Aaddr2Int%23"
></A
></A
><B
>addr2Int#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Coerce directly from address to int. Strongly deprecated.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:int2Addr#"
><A NAME="v%3Aint2Addr%23"
></A
></A
><B
>int2Addr#</B
> :: <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Coerce directly from int to address. Strongly deprecated.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:gtAddr#"
><A NAME="v%3AgtAddr%23"
></A
></A
><B
>gtAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:geAddr#"
><A NAME="v%3AgeAddr%23"
></A
></A
><B
>geAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:eqAddr#"
><A NAME="v%3AeqAddr%23"
></A
></A
><B
>eqAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:neAddr#"
><A NAME="v%3AneAddr%23"
></A
></A
><B
>neAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:ltAddr#"
><A NAME="v%3AltAddr%23"
></A
></A
><B
>ltAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:leAddr#"
><A NAME="v%3AleAddr%23"
></A
></A
><B
>leAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexCharOffAddr#"
><A NAME="v%3AindexCharOffAddr%23"
></A
></A
><B
>indexCharOffAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Reads 8-bit character; offset in bytes.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexWideCharOffAddr#"
><A NAME="v%3AindexWideCharOffAddr%23"
></A
></A
><B
>indexWideCharOffAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
></TD
></TR
><TR
><TD CLASS="doc"
>Reads 31-bit character; offset in 4-byte words.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexIntOffAddr#"
><A NAME="v%3AindexIntOffAddr%23"
></A
></A
><B
>indexIntOffAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexWordOffAddr#"
><A NAME="v%3AindexWordOffAddr%23"
></A
></A
><B
>indexWordOffAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexAddrOffAddr#"
><A NAME="v%3AindexAddrOffAddr%23"
></A
></A
><B
>indexAddrOffAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexFloatOffAddr#"
><A NAME="v%3AindexFloatOffAddr%23"
></A
></A
><B
>indexFloatOffAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexDoubleOffAddr#"
><A NAME="v%3AindexDoubleOffAddr%23"
></A
></A
><B
>indexDoubleOffAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexStablePtrOffAddr#"
><A NAME="v%3AindexStablePtrOffAddr%23"
></A
></A
><B
>indexStablePtrOffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexInt8OffAddr#"
><A NAME="v%3AindexInt8OffAddr%23"
></A
></A
><B
>indexInt8OffAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexInt16OffAddr#"
><A NAME="v%3AindexInt16OffAddr%23"
></A
></A
><B
>indexInt16OffAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexInt32OffAddr#"
><A NAME="v%3AindexInt32OffAddr%23"
></A
></A
><B
>indexInt32OffAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexInt64OffAddr#"
><A NAME="v%3AindexInt64OffAddr%23"
></A
></A
><B
>indexInt64OffAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt64%23"
>Int64#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexWord8OffAddr#"
><A NAME="v%3AindexWord8OffAddr%23"
></A
></A
><B
>indexWord8OffAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexWord16OffAddr#"
><A NAME="v%3AindexWord16OffAddr%23"
></A
></A
><B
>indexWord16OffAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexWord32OffAddr#"
><A NAME="v%3AindexWord32OffAddr%23"
></A
></A
><B
>indexWord32OffAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:indexWord64OffAddr#"
><A NAME="v%3AindexWord64OffAddr%23"
></A
></A
><B
>indexWord64OffAddr#</B
> :: <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord64%23"
>Word64#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readCharOffAddr#"
><A NAME="v%3AreadCharOffAddr%23"
></A
></A
><B
>readCharOffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
>#)</TD
></TR
><TR
><TD CLASS="doc"
>Reads 8-bit character; offset in bytes.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readWideCharOffAddr#"
><A NAME="v%3AreadWideCharOffAddr%23"
></A
></A
><B
>readWideCharOffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
>#)</TD
></TR
><TR
><TD CLASS="doc"
>Reads 31-bit character; offset in 4-byte words.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readIntOffAddr#"
><A NAME="v%3AreadIntOffAddr%23"
></A
></A
><B
>readIntOffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readWordOffAddr#"
><A NAME="v%3AreadWordOffAddr%23"
></A
></A
><B
>readWordOffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readAddrOffAddr#"
><A NAME="v%3AreadAddrOffAddr%23"
></A
></A
><B
>readAddrOffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readFloatOffAddr#"
><A NAME="v%3AreadFloatOffAddr%23"
></A
></A
><B
>readFloatOffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readDoubleOffAddr#"
><A NAME="v%3AreadDoubleOffAddr%23"
></A
></A
><B
>readDoubleOffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readStablePtrOffAddr#"
><A NAME="v%3AreadStablePtrOffAddr%23"
></A
></A
><B
>readStablePtrOffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readInt8OffAddr#"
><A NAME="v%3AreadInt8OffAddr%23"
></A
></A
><B
>readInt8OffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readInt16OffAddr#"
><A NAME="v%3AreadInt16OffAddr%23"
></A
></A
><B
>readInt16OffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readInt32OffAddr#"
><A NAME="v%3AreadInt32OffAddr%23"
></A
></A
><B
>readInt32OffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readInt64OffAddr#"
><A NAME="v%3AreadInt64OffAddr%23"
></A
></A
><B
>readInt64OffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt64%23"
>Int64#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readWord8OffAddr#"
><A NAME="v%3AreadWord8OffAddr%23"
></A
></A
><B
>readWord8OffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readWord16OffAddr#"
><A NAME="v%3AreadWord16OffAddr%23"
></A
></A
><B
>readWord16OffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readWord32OffAddr#"
><A NAME="v%3AreadWord32OffAddr%23"
></A
></A
><B
>readWord32OffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readWord64OffAddr#"
><A NAME="v%3AreadWord64OffAddr%23"
></A
></A
><B
>readWord64OffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AWord64%23"
>Word64#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeCharOffAddr#"
><A NAME="v%3AwriteCharOffAddr%23"
></A
></A
><B
>writeCharOffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeWideCharOffAddr#"
><A NAME="v%3AwriteWideCharOffAddr%23"
></A
></A
><B
>writeWideCharOffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AChar%23"
>Char#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeIntOffAddr#"
><A NAME="v%3AwriteIntOffAddr%23"
></A
></A
><B
>writeIntOffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeWordOffAddr#"
><A NAME="v%3AwriteWordOffAddr%23"
></A
></A
><B
>writeWordOffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeAddrOffAddr#"
><A NAME="v%3AwriteAddrOffAddr%23"
></A
></A
><B
>writeAddrOffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeFloatOffAddr#"
><A NAME="v%3AwriteFloatOffAddr%23"
></A
></A
><B
>writeFloatOffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AFloat%23"
>Float#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeDoubleOffAddr#"
><A NAME="v%3AwriteDoubleOffAddr%23"
></A
></A
><B
>writeDoubleOffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3ADouble%23"
>Double#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeStablePtrOffAddr#"
><A NAME="v%3AwriteStablePtrOffAddr%23"
></A
></A
><B
>writeStablePtrOffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeInt8OffAddr#"
><A NAME="v%3AwriteInt8OffAddr%23"
></A
></A
><B
>writeInt8OffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeInt16OffAddr#"
><A NAME="v%3AwriteInt16OffAddr%23"
></A
></A
><B
>writeInt16OffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeInt32OffAddr#"
><A NAME="v%3AwriteInt32OffAddr%23"
></A
></A
><B
>writeInt32OffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeInt64OffAddr#"
><A NAME="v%3AwriteInt64OffAddr%23"
></A
></A
><B
>writeInt64OffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt64%23"
>Int64#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeWord8OffAddr#"
><A NAME="v%3AwriteWord8OffAddr%23"
></A
></A
><B
>writeWord8OffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeWord16OffAddr#"
><A NAME="v%3AwriteWord16OffAddr%23"
></A
></A
><B
>writeWord16OffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeWord32OffAddr#"
><A NAME="v%3AwriteWord32OffAddr%23"
></A
></A
><B
>writeWord32OffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord%23"
>Word#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeWord64OffAddr#"
><A NAME="v%3AwriteWord64OffAddr%23"
></A
></A
><B
>writeWord64OffAddr#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AWord64%23"
>Word64#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="14"
><A NAME="14"
>Mutable variables
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>Operations on MutVar#s.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:MutVar#"
><A NAME="t%3AMutVar%23"
></A
></A
><B
>MutVar#</B
> s a </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A <TT
>MutVar#</TT
> behaves like a single-element mutable array.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newMutVar#"
><A NAME="v%3AnewMutVar%23"
></A
></A
><B
>newMutVar#</B
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AMutVar%23"
>MutVar#</A
> s a#)</TD
></TR
><TR
><TD CLASS="doc"
>Create <TT
>MutVar#</TT
> with specified initial value in specified state thread.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readMutVar#"
><A NAME="v%3AreadMutVar%23"
></A
></A
><B
>readMutVar#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutVar%23"
>MutVar#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, a#)</TD
></TR
><TR
><TD CLASS="doc"
>Read contents of <TT
>MutVar#</TT
>. Result is not yet evaluated.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeMutVar#"
><A NAME="v%3AwriteMutVar%23"
></A
></A
><B
>writeMutVar#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutVar%23"
>MutVar#</A
> s a -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="doc"
>Write contents of <TT
>MutVar#</TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sameMutVar#"
><A NAME="v%3AsameMutVar%23"
></A
></A
><B
>sameMutVar#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutVar%23"
>MutVar#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AMutVar%23"
>MutVar#</A
> s a -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:atomicModifyMutVar#"
><A NAME="v%3AatomicModifyMutVar%23"
></A
></A
><B
>atomicModifyMutVar#</B
> ::  <A HREF="GHC-Prim.html#t%3AMutVar%23"
>MutVar#</A
> s a -&gt; (a -&gt; b) -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, c#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="15"
><A NAME="15"
>Exceptions
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:catch#"
><A NAME="v%3Acatch%23"
></A
></A
><B
>catch#</B
> ::  (<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; (b -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:raise#"
><A NAME="v%3Araise%23"
></A
></A
><B
>raise#</B
> ::  a -&gt; b</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:raiseIO#"
><A NAME="v%3AraiseIO%23"
></A
></A
><B
>raiseIO#</B
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, b#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:blockAsyncExceptions#"
><A NAME="v%3AblockAsyncExceptions%23"
></A
></A
><B
>blockAsyncExceptions#</B
> ::  (<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unblockAsyncExceptions#"
><A NAME="v%3AunblockAsyncExceptions%23"
></A
></A
><B
>unblockAsyncExceptions#</B
> ::  (<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:asyncExceptionsBlocked#"
><A NAME="v%3AasyncExceptionsBlocked%23"
></A
></A
><B
>asyncExceptionsBlocked#</B
> :: <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="16"
><A NAME="16"
>STM-accessible Mutable Variables
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:TVar#"
><A NAME="t%3ATVar%23"
></A
></A
><B
>TVar#</B
> s a </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:atomically#"
><A NAME="v%3Aatomically%23"
></A
></A
><B
>atomically#</B
> ::  (<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:retry#"
><A NAME="v%3Aretry%23"
></A
></A
><B
>retry#</B
> ::  <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:catchRetry#"
><A NAME="v%3AcatchRetry%23"
></A
></A
><B
>catchRetry#</B
> ::  (<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; (<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:catchSTM#"
><A NAME="v%3AcatchSTM%23"
></A
></A
><B
>catchSTM#</B
> ::  (<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; (b -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:check#"
><A NAME="v%3Acheck%23"
></A
></A
><B
>check#</B
> ::  (<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)) -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Unit.html#t%3A%28%29"
>()</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newTVar#"
><A NAME="v%3AnewTVar%23"
></A
></A
><B
>newTVar#</B
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3ATVar%23"
>TVar#</A
> s a#)</TD
></TR
><TR
><TD CLASS="doc"
>Create a new <TT
>TVar#</TT
> holding a specified initial value.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readTVar#"
><A NAME="v%3AreadTVar%23"
></A
></A
><B
>readTVar#</B
> ::  <A HREF="GHC-Prim.html#t%3ATVar%23"
>TVar#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, a#)</TD
></TR
><TR
><TD CLASS="doc"
>Read contents of <TT
>TVar#</TT
>.  Result is not yet evaluated.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeTVar#"
><A NAME="v%3AwriteTVar%23"
></A
></A
><B
>writeTVar#</B
> ::  <A HREF="GHC-Prim.html#t%3ATVar%23"
>TVar#</A
> s a -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="doc"
>Write contents of <TT
>TVar#</TT
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sameTVar#"
><A NAME="v%3AsameTVar%23"
></A
></A
><B
>sameTVar#</B
> ::  <A HREF="GHC-Prim.html#t%3ATVar%23"
>TVar#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3ATVar%23"
>TVar#</A
> s a -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="17"
><A NAME="17"
>Synchronized Mutable Variables
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>Operations on <TT
>MVar#</TT
>s. 
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:MVar#"
><A NAME="t%3AMVar%23"
></A
></A
><B
>MVar#</B
> s a </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>A shared mutable variable (<EM
>not</EM
> the same as a <TT
>MutVar#</TT
>!).
 	(Note: in a non-concurrent implementation, <TT
>(MVar# a)</TT
> can be
 	represented by <TT
>(MutVar# (Maybe a))</TT
>.) 
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newMVar#"
><A NAME="v%3AnewMVar%23"
></A
></A
><B
>newMVar#</B
> ::  <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AMVar%23"
>MVar#</A
> s a#)</TD
></TR
><TR
><TD CLASS="doc"
>Create new <TT
>MVar#</TT
>; initially empty.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:takeMVar#"
><A NAME="v%3AtakeMVar%23"
></A
></A
><B
>takeMVar#</B
> ::  <A HREF="GHC-Prim.html#t%3AMVar%23"
>MVar#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, a#)</TD
></TR
><TR
><TD CLASS="doc"
>If <TT
>MVar#</TT
> is empty, block until it becomes full.
    Then remove and return its contents, and set it empty.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tryTakeMVar#"
><A NAME="v%3AtryTakeMVar%23"
></A
></A
><B
>tryTakeMVar#</B
> ::  <A HREF="GHC-Prim.html#t%3AMVar%23"
>MVar#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, a#)</TD
></TR
><TR
><TD CLASS="doc"
>If <TT
>MVar#</TT
> is empty, immediately return with integer 0 and value undefined.
    Otherwise, return with integer 1 and contents of <TT
>MVar#</TT
>, and set <TT
>MVar#</TT
> empty.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:putMVar#"
><A NAME="v%3AputMVar%23"
></A
></A
><B
>putMVar#</B
> ::  <A HREF="GHC-Prim.html#t%3AMVar%23"
>MVar#</A
> s a -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="doc"
>If <TT
>MVar#</TT
> is full, block until it becomes empty.
    Then store value arg as its new contents.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tryPutMVar#"
><A NAME="v%3AtryPutMVar%23"
></A
></A
><B
>tryPutMVar#</B
> ::  <A HREF="GHC-Prim.html#t%3AMVar%23"
>MVar#</A
> s a -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="doc"
>If <TT
>MVar#</TT
> is full, immediately return with integer 0.
     Otherwise, store value arg as <TT
>MVar#</TT
>'s new contents, and return with integer 1.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:sameMVar#"
><A NAME="v%3AsameMVar%23"
></A
></A
><B
>sameMVar#</B
> ::  <A HREF="GHC-Prim.html#t%3AMVar%23"
>MVar#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AMVar%23"
>MVar#</A
> s a -&gt; <A HREF="GHC-Bool.html#t%3ABool"
>Bool</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isEmptyMVar#"
><A NAME="v%3AisEmptyMVar%23"
></A
></A
><B
>isEmptyMVar#</B
> ::  <A HREF="GHC-Prim.html#t%3AMVar%23"
>MVar#</A
> s a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="doc"
>Return 1 if <TT
>MVar#</TT
> is empty; 0 otherwise.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="18"
><A NAME="18"
>Delay/wait operations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:delay#"
><A NAME="v%3Adelay%23"
></A
></A
><B
>delay#</B
> ::  <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="doc"
>Sleep specified number of microseconds.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:waitRead#"
><A NAME="v%3AwaitRead%23"
></A
></A
><B
>waitRead#</B
> ::  <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="doc"
>Block until input is available on specified file descriptor.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:waitWrite#"
><A NAME="v%3AwaitWrite%23"
></A
></A
><B
>waitWrite#</B
> ::  <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s</TD
></TR
><TR
><TD CLASS="doc"
>Block until output is possible on specified file descriptor.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="19"
><A NAME="19"
>Concurrency primitives
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:State#"
><A NAME="t%3AState%23"
></A
></A
><B
>State#</B
> s </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><TT
>State#</TT
> is the primitive, unlifted type of states.  It has
 	one type parameter, thus <TT
>State# RealWorld</TT
>, or <TT
>State# s</TT
>,
 	where s is a type variable. The only purpose of the type parameter
 	is to keep different state threads separate.  It is represented by
 	nothing at all. 
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:RealWorld"
><A NAME="t%3ARealWorld"
></A
></A
><B
>RealWorld</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><TT
>RealWorld</TT
> is deeply magical.  It is <EM
>primitive</EM
>, but it is not
 	<EM
>unlifted</EM
> (hence <TT
>ptrArg</TT
>).  We never manipulate values of type
 	<TT
>RealWorld</TT
>; it's only used in the type system, to parameterise <TT
>State#</TT
>. 
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:ThreadId#"
><A NAME="t%3AThreadId%23"
></A
></A
><B
>ThreadId#</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>(In a non-concurrent implementation, this can be a singleton
 	type, whose (unique) value is returned by <TT
>myThreadId#</TT
>.  The 
 	other operations can be omitted.)
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:fork#"
><A NAME="v%3Afork%23"
></A
></A
><B
>fork#</B
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AThreadId%23"
>ThreadId#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:forkOn#"
><A NAME="v%3AforkOn%23"
></A
></A
><B
>forkOn#</B
> ::  <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AThreadId%23"
>ThreadId#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:killThread#"
><A NAME="v%3AkillThread%23"
></A
></A
><B
>killThread#</B
> ::  <A HREF="GHC-Prim.html#t%3AThreadId%23"
>ThreadId#</A
> -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:yield#"
><A NAME="v%3Ayield%23"
></A
></A
><B
>yield#</B
> :: <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:myThreadId#"
><A NAME="v%3AmyThreadId%23"
></A
></A
><B
>myThreadId#</B
> :: <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AThreadId%23"
>ThreadId#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:labelThread#"
><A NAME="v%3AlabelThread%23"
></A
></A
><B
>labelThread#</B
> :: <A HREF="GHC-Prim.html#t%3AThreadId%23"
>ThreadId#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:isCurrentThreadBound#"
><A NAME="v%3AisCurrentThreadBound%23"
></A
></A
><B
>isCurrentThreadBound#</B
> :: <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:noDuplicate#"
><A NAME="v%3AnoDuplicate%23"
></A
></A
><B
>noDuplicate#</B
> :: <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:threadStatus#"
><A NAME="v%3AthreadStatus%23"
></A
></A
><B
>threadStatus#</B
> :: <A HREF="GHC-Prim.html#t%3AThreadId%23"
>ThreadId#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="20"
><A NAME="20"
>Weak pointers
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Weak#"
><A NAME="t%3AWeak%23"
></A
></A
><B
>Weak#</B
> b </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkWeak#"
><A NAME="v%3AmkWeak%23"
></A
></A
><B
>mkWeak#</B
> ::  o -&gt; b -&gt; c -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AWeak%23"
>Weak#</A
> b#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkWeakForeignEnv#"
><A NAME="v%3AmkWeakForeignEnv%23"
></A
></A
><B
>mkWeakForeignEnv#</B
> ::  o -&gt; b -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AWeak%23"
>Weak#</A
> b#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:deRefWeak#"
><A NAME="v%3AdeRefWeak%23"
></A
></A
><B
>deRefWeak#</B
> ::  <A HREF="GHC-Prim.html#t%3AWeak%23"
>Weak#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, a#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:finalizeWeak#"
><A NAME="v%3AfinalizeWeak%23"
></A
></A
><B
>finalizeWeak#</B
> ::  <A HREF="GHC-Prim.html#t%3AWeak%23"
>Weak#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Unit.html#t%3A%28%29"
>()</A
>#)#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:touch#"
><A NAME="v%3Atouch%23"
></A
></A
><B
>touch#</B
> ::  o -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="21"
><A NAME="21"
>Stable pointers and names
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:StablePtr#"
><A NAME="t%3AStablePtr%23"
></A
></A
><B
>StablePtr#</B
> a </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:StableName#"
><A NAME="t%3AStableName%23"
></A
></A
><B
>StableName#</B
> a </TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:makeStablePtr#"
><A NAME="v%3AmakeStablePtr%23"
></A
></A
><B
>makeStablePtr#</B
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:deRefStablePtr#"
><A NAME="v%3AdeRefStablePtr%23"
></A
></A
><B
>deRefStablePtr#</B
> ::  <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, a#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:eqStablePtr#"
><A NAME="v%3AeqStablePtr%23"
></A
></A
><B
>eqStablePtr#</B
> ::  <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AStablePtr%23"
>StablePtr#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:makeStableName#"
><A NAME="v%3AmakeStableName%23"
></A
></A
><B
>makeStableName#</B
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> <A HREF="GHC-Prim.html#t%3ARealWorld"
>RealWorld</A
>, <A HREF="GHC-Prim.html#t%3AStableName%23"
>StableName#</A
> a#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:eqStableName#"
><A NAME="v%3AeqStableName%23"
></A
></A
><B
>eqStableName#</B
> ::  <A HREF="GHC-Prim.html#t%3AStableName%23"
>StableName#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AStableName%23"
>StableName#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:stableNameToInt#"
><A NAME="v%3AstableNameToInt%23"
></A
></A
><B
>stableNameToInt#</B
> ::  <A HREF="GHC-Prim.html#t%3AStableName%23"
>StableName#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="22"
><A NAME="22"
>Unsafe pointer equality
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:reallyUnsafePtrEquality#"
><A NAME="v%3AreallyUnsafePtrEquality%23"
></A
></A
><B
>reallyUnsafePtrEquality#</B
> ::  a -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="23"
><A NAME="23"
>Parallelism
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:par#"
><A NAME="v%3Apar%23"
></A
></A
><B
>par#</B
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:parGlobal#"
><A NAME="v%3AparGlobal%23"
></A
></A
><B
>parGlobal#</B
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; b -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:parLocal#"
><A NAME="v%3AparLocal%23"
></A
></A
><B
>parLocal#</B
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; b -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:parAt#"
><A NAME="v%3AparAt%23"
></A
></A
><B
>parAt#</B
> ::  b -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; c -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:parAtAbs#"
><A NAME="v%3AparAtAbs%23"
></A
></A
><B
>parAtAbs#</B
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; b -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:parAtRel#"
><A NAME="v%3AparAtRel%23"
></A
></A
><B
>parAtRel#</B
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; b -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:parAtForNow#"
><A NAME="v%3AparAtForNow%23"
></A
></A
><B
>parAtForNow#</B
> ::  b -&gt; a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; c -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="24"
><A NAME="24"
>Tag to enum stuff
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>Convert back and forth between values of enumerated types
 	and small integers.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:dataToTag#"
><A NAME="v%3AdataToTag%23"
></A
></A
><B
>dataToTag#</B
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:tagToEnum#"
><A NAME="v%3AtagToEnum%23"
></A
></A
><B
>tagToEnum#</B
> ::  <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; a</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="25"
><A NAME="25"
>Bytecode operations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>Support for the bytecode interpreter and linker.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:BCO#"
><A NAME="t%3ABCO%23"
></A
></A
><B
>BCO#</B
>  </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Primitive bytecode type.
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:addrToHValue#"
><A NAME="v%3AaddrToHValue%23"
></A
></A
><B
>addrToHValue#</B
> ::  <A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
> -&gt; (#a#)</TD
></TR
><TR
><TD CLASS="doc"
>Convert an <TT
>Addr#</TT
> to a followable type.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mkApUpd0#"
><A NAME="v%3AmkApUpd0%23"
></A
></A
><B
>mkApUpd0#</B
> ::  <A HREF="GHC-Prim.html#t%3ABCO%23"
>BCO#</A
> -&gt; (#a#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newBCO#"
><A NAME="v%3AnewBCO%23"
></A
></A
><B
>newBCO#</B
> ::  <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AArray%23"
>Array#</A
> a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
> -&gt; <A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s -&gt; (#<A HREF="GHC-Prim.html#t%3AState%23"
>State#</A
> s, <A HREF="GHC-Prim.html#t%3ABCO%23"
>BCO#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unpackClosure#"
><A NAME="v%3AunpackClosure%23"
></A
></A
><B
>unpackClosure#</B
> ::  a -&gt; (#<A HREF="GHC-Prim.html#t%3AAddr%23"
>Addr#</A
>, <A HREF="GHC-Prim.html#t%3AArray%23"
>Array#</A
> b, <A HREF="GHC-Prim.html#t%3AByteArray%23"
>ByteArray#</A
>#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getApStackVal#"
><A NAME="v%3AgetApStackVal%23"
></A
></A
><B
>getApStackVal#</B
> ::  a -&gt; <A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
> -&gt; (#<A HREF="GHC-Prim.html#t%3AInt%23"
>Int#</A
>, b#)</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="26"
><A NAME="26"
>Etc
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="doc"
>Miscellaneous built-ins
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:seq"
><A NAME="v%3Aseq"
></A
></A
><B
>seq</B
> ::  a -&gt; b -&gt; b</TD
></TR
><TR
><TD CLASS="doc"
>Evaluates its first argument to head normal form, and then returns its second
 	argument as the result. 
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:inline"
><A NAME="v%3Ainline"
></A
></A
><B
>inline</B
> ::  a -&gt; a</TD
></TR
><TR
><TD CLASS="doc"
><P
>The call <TT
>(inline f)</TT
> arranges that f is inlined, regardless of its size.
 	More precisely, the call <TT
>(inline f)</TT
> rewrites to the right-hand side of
 	<TT
>f</TT
>'s definition. This allows the programmer to control inlining from a
 	particular call site rather than the definition site of the function (c.f.
 	<TT
>INLINE</TT
> pragmas in User's Guide, Section 7.10.3, &quot;INLINE and NOINLINE
 	pragmas&quot;).
</P
><P
>This inlining occurs regardless of the argument to the call or the size of
 	<TT
>f</TT
>'s definition; it is unconditional. The main caveat is that <TT
>f</TT
>'s
 	definition must be visible to the compiler. That is, <TT
>f</TT
> must be
 	<TT
>let</TT
>-bound in the current scope. If no inlining takes place, the
 	<TT
>inline</TT
> function expands to the identity function in Phase zero; so its
 	use imposes no overhead.
</P
><P
>If the function is defined in another module, GHC only exposes its inlining
 	in the interface file if the function is sufficiently small that it might be
 	inlined by the automatic mechanism. There is currently no way to tell GHC to
 	expose arbitrarily-large functions in the interface file. (This shortcoming
 	is something that could be fixed, with some kind of pragma.) 
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:lazy"
><A NAME="v%3Alazy"
></A
></A
><B
>lazy</B
> ::  a -&gt; a</TD
></TR
><TR
><TD CLASS="doc"
><P
>The <TT
>lazy</TT
> function restrains strictness analysis a little. The call
 	<TT
>(lazy e)</TT
> means the same as <TT
>e</TT
>, but <TT
>lazy</TT
> has a magical
 	property so far as strictness analysis is concerned: it is lazy in its first
 	argument, even though its semantics is strict. After strictness analysis has
 	run, calls to <TT
>lazy</TT
> are inlined to be the identity function.
</P
><P
>This behaviour is occasionally useful when controlling evaluation order.
 	Notably, <TT
>lazy</TT
> is used in the library definition of <TT
>Control.Parallel.par</TT
>:
</P
><PRE
>par :: a -&gt; b -&gt; b</PRE
><PRE
>par x y = case (par# x) of _ -&gt; lazy y</PRE
><P
>If <TT
>lazy</TT
> were not lazy, <TT
>par</TT
> would look strict in <TT
>y</TT
> which
 	would defeat the whole purpose of <TT
>par</TT
>.
</P
><P
>Like <TT
>seq</TT
>, the argument of <TT
>lazy</TT
> can have an unboxed type. 
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:Any"
><A NAME="t%3AAny"
></A
></A
><B
>Any</B
> a </TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>The type constructor <TT
>Any</TT
> is type to which you can unsafely coerce any
 	lifted type, and back. 
</P
><UL
><LI
> It is lifted, and hence represented by a pointer
</LI
><LI
> It does not claim to be a <EM
>data</EM
> type, and that's important for
 	    the code generator, because the code gen may <EM
>enter</EM
> a data value
 	    but never enters a function value.  
</LI
></UL
><P
>It's also used to instantiate un-constrained type variables after type
 	checking.  For example
</P
><PRE
>length Any []</PRE
><P
>Annoyingly, we sometimes need <TT
>Any</TT
>s of other kinds, such as <TT
>(* -&gt; *)</TT
> etc.
 	This is a bit like tuples.   We define a couple of useful ones here,
 	and make others up on the fly.  If any of these others end up being exported
 	into interface files, we'll get a crash; at least until we add interface-file
 	syntax to support them. 
</P
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unsafeCoerce#"
><A NAME="v%3AunsafeCoerce%23"
></A
></A
><B
>unsafeCoerce#</B
> ::  a -&gt; b</TD
></TR
><TR
><TD CLASS="doc"
><P
>The function <TT
>unsafeCoerce#</TT
> allows you to side-step the typechecker entirely. That
 	is, it allows you to coerce any type into any other type. If you use this function,
 	you had better get it right, otherwise segmentation faults await. It is generally
 	used when you want to write a program that you know is well-typed, but where Haskell's
 	type system is not expressive enough to prove that it is well typed.
</P
><P
>The following uses of <TT
>unsafeCoerce#</TT
> are supposed to work (i.e. not lead to
         spurious compile-time or run-time crashes):
</P
><UL
><LI
> Casting any lifted type to <TT
>Any</TT
>
</LI
><LI
> Casting <TT
>Any</TT
> back to the real type
</LI
><LI
> Casting an unboxed type to another unboxed type of the same size
            (but not coercions between floating-point and integral types)
</LI
><LI
> Casting between two types that have the same runtime representation.  One case is when
            the two types differ only in &quot;phantom&quot; type parameters, for example
            <TT
>Ptr Int</TT
> to <TT
>Ptr Float</TT
>, or <TT
>[Int]</TT
> to <TT
>[Float]</TT
> when the list is 
            known to be empty.  Also, a <TT
>newtype</TT
> of a type <TT
>T</TT
> has the same representation
            at runtime as <TT
>T</TT
>.
</LI
></UL
><P
>Other uses of <TT
>unsafeCoerce#</TT
> are undefined.  In particular, you should not use
 	<TT
>unsafeCoerce#</TT
> to cast a T to an algebraic data type D, unless T is also
 	an algebraic data type.  For example, do not cast <TT
>Int-&gt;Int</TT
> to <TT
>Bool</TT
>, even if
         you later cast that <TT
>Bool</TT
> back to <TT
>Int-&gt;Int</TT
> before applying it.  The reasons
         have to do with GHC's internal representation details (for the congnoscenti, data values
 	can be entered but function closures cannot).  If you want a safe type to cast things
 	to, use <TT
>Any</TT
>, which is not an algebraic data type.
</P
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.4.2</TD
></TR
></TABLE
></BODY
></HTML
>