<!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.2.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" >Double# </A ></DT ><DT ><A HREF="#7" >Float# </A ></DT ><DT ><A HREF="#8" >Arrays </A ></DT ><DT ><A HREF="#9" >Byte Arrays </A ></DT ><DT ><A HREF="#10" >Addr# </A ></DT ><DT ><A HREF="#11" >Mutable variables </A ></DT ><DT ><A HREF="#12" >Exceptions </A ></DT ><DT ><A HREF="#13" >STM-accessible Mutable Variables </A ></DT ><DT ><A HREF="#14" >Synchronized Mutable Variables </A ></DT ><DT ><A HREF="#15" >Delay/wait operations </A ></DT ><DT ><A HREF="#16" >Concurrency primitives </A ></DT ><DT ><A HREF="#17" >Weak pointers </A ></DT ><DT ><A HREF="#18" >Stable pointers and names </A ></DT ><DT ><A HREF="#19" >Unsafe pointer equality </A ></DT ><DT ><A HREF="#20" >Parallelism </A ></DT ><DT ><A HREF="#21" >Tag to enum stuff </A ></DT ><DT ><A HREF="#22" >Bytecode operations </A ></DT ><DT ><A HREF="#23" >Misc </A ></DT ><DT ><A HREF="#24" >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. Use GHC.Exts from the base package instead of importing this module directly. </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 > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <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 > -> <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 > -> <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-%23" >(-#)</A > :: <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%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 > -> <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%3AmulIntMayOflo%23" >mulIntMayOflo#</A > :: <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%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 > -> <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%3AremInt%23" >remInt#</A > :: <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%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 > -> <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 > -> <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%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 > -> <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%3AInt%23" >Int#</A >#)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3A%3E%23" >(>#)</A > :: <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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" >(>=#)</A > :: <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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" >(<#)</A > :: <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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" >(<=#)</A > :: <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <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 > -> <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 > -> <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 > -> <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%3AuncheckedIShiftL%23" >uncheckedIShiftL#</A > :: <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%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 > -> <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%3AuncheckedIShiftRL%23" >uncheckedIShiftRL#</A > :: <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%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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <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%3AgtWord%23" >gtWord#</A > :: <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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%3ADouble%23" >Double#</A > </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3A%3E%23%23" >(>##)</A > :: <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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" >(>=##)</A > :: <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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" >(<##)</A > :: <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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" >(<=##)</A > :: <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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_2Int%23" >decodeDouble_2Int#</A > :: <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <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_Int%23" >decodeFloat_Int#</A > :: <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> (#<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 > -> a -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AMutableArray%23" >MutableArray#</A > s a -> <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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> a -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> <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%3AunsafeFreezeArray%23" >unsafeFreezeArray#</A > :: <A HREF="GHC-Prim.html#t%3AMutableArray%23" >MutableArray#</A > s a -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <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 -> <A HREF="GHC-Prim.html#t%3AMutableByteArray%23" >MutableByteArray#</A > s -> <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 -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <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 -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <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%3AindexWordArray%23" >indexWordArray#</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%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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</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%3AindexFloatArray%23" >indexFloatArray#</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%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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</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%3AindexInt8Array%23" >indexInt8Array#</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%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 > -> <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%3AindexInt32Array%23" >indexInt32Array#</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%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 > -> <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%3AindexWord8Array%23" >indexWord8Array#</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%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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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%3AreadCharArray%23" >readCharArray#</A > :: <A HREF="GHC-Prim.html#t%3AMutableByteArray%23" >MutableByteArray#</A > s -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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%3AreadWord8Array%23" >readWord8Array#</A > :: <A HREF="GHC-Prim.html#t%3AMutableByteArray%23" >MutableByteArray#</A > s -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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%3AwriteCharArray%23" >writeCharArray#</A > :: <A HREF="GHC-Prim.html#t%3AMutableByteArray%23" >MutableByteArray#</A > s -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AStablePtr%23" >StablePtr#</A > a -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</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%3AminusAddr%23" >minusAddr#</A > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</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%3AremAddr%23" >remAddr#</A > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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%3Aaddr2Int%23" >addr2Int#</A > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</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%3Aint2Addr%23" >int2Addr#</A > :: <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</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%3AgtAddr%23" >gtAddr#</A > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <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%3AindexWordOffAddr%23" >indexWordOffAddr#</A > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</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%3AindexFloatOffAddr%23" >indexFloatOffAddr#</A > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</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%3AindexInt8OffAddr%23" >indexInt8OffAddr#</A > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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%3AindexInt16OffAddr%23" >indexInt16OffAddr#</A > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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%3AindexInt32OffAddr%23" >indexInt32OffAddr#</A > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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%3AindexInt64OffAddr%23" >indexInt64OffAddr#</A > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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%3AindexWord8OffAddr%23" >indexWord8OffAddr#</A > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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%3AreadCharOffAddr%23" >readCharOffAddr#</A > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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%3AreadWord8OffAddr%23" >readWord8OffAddr#</A > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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%3AwriteCharOffAddr%23" >writeCharOffAddr#</A > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AStablePtr%23" >StablePtr#</A > a -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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 -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> a -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> <A HREF="GHC-Prim.html#t%3AMutVar%23" >MutVar#</A > s a -> <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 -> (a -> b) -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> (#<A HREF="GHC-Prim.html#t%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> (b -> <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%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> <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%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 -> b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AraiseIO%23" >raiseIO#</A > :: a -> <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%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 > -> (#<A HREF="GHC-Prim.html#t%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> <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%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 > -> (#<A HREF="GHC-Prim.html#t%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> <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%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 > -> (#<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 > -> (#<A HREF="GHC-Prim.html#t%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> <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%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 > -> (#<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 > -> (#<A HREF="GHC-Prim.html#t%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> (<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%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> <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%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 > -> (#<A HREF="GHC-Prim.html#t%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> (b -> <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%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> <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%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 > -> (#<A HREF="GHC-Prim.html#t%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> <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%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 -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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%3AreadTVarIO%23" >readTVarIO#</A > :: <A HREF="GHC-Prim.html#t%3ATVar%23" >TVar#</A > s a -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> a -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> <A HREF="GHC-Prim.html#t%3ATVar%23" >TVar#</A > s a -> <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 -> (#<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 -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> a -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> a -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AMVar%23" >MVar#</A > s a -> <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 -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> <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%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 > -> a -> <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%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 > -> a -> <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%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 > -> <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 > -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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%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 > -> (#<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 > -> <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 > -> <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%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 -> b -> c -> <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%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 -> b -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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%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 -> <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%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 -> <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%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 > -> (#<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 -> <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%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 -> <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%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 -> <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%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 -> <A HREF="GHC-Prim.html#t%3AStablePtr%23" >StablePtr#</A > 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%3AmakeStableName%23" >makeStableName#</A > :: a -> <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%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 -> <A HREF="GHC-Prim.html#t%3AStableName%23" >StableName#</A > 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%3AstableNameToInt%23" >stableNameToInt#</A > :: <A HREF="GHC-Prim.html#t%3AStableName%23" >StableName#</A > 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%3AreallyUnsafePtrEquality%23" >reallyUnsafePtrEquality#</A > :: a -> 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%3Apar%23" >par#</A > :: 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%3AgetSpark%23" >getSpark#</A > :: <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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%3AparGlobal%23" >parGlobal#</A > :: a -> <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%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> b -> <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 -> <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%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> b -> <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 -> a -> <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%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> c -> <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 -> <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%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> b -> <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 -> <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%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> b -> <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 -> a -> <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%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> c -> <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 -> <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 > -> 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 > -> (#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 > -> (#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 > -> <A HREF="GHC-Prim.html#t%3AByteArray%23" >ByteArray#</A > -> <A HREF="GHC-Prim.html#t%3AArray%23" >Array#</A > a -> <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%3AState%23" >State#</A > s -> (#<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 -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> (#<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%3AtraceCcs%23" >traceCcs#</A > :: a -> b -> b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aseq" >seq</A > :: a -> b -> b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Ainline" >inline</A > :: a -> a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Alazy" >lazy</A > :: a -> 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 -> b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtraceEvent%23" >traceEvent#</A > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s</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# -> Int# -> Int#</TT >; otherwise it has type <TT >ByteArray# -> Int# -> 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 > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <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 > -> <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 > -> <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="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 > -> <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="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 > -> <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" >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 > -> <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" ><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 -> 64 signed multiply, and subtract result[63:32] from (result[31] >>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 -> Integer -> 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 > -> <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" >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 > -> <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" >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:negateInt#" ><A NAME="v%3AnegateInt%23" ></A ></A ><B >negateInt#</B > :: <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="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 > -> <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%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 > -> <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%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 >(>#)</B > :: <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 >(>=#)</B > :: <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 >(<#)</B > :: <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 >(<=#)</B > :: <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <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 > -> <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 > -> <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 > -> <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:uncheckedIShiftL#" ><A NAME="v%3AuncheckedIShiftL%23" ></A ></A ><B >uncheckedIShiftL#</B > :: <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%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 > -> <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" >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 > -> <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" >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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <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:gtWord#" ><A NAME="v%3AgtWord%23" ></A ></A ><B >gtWord#</B > :: <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AWord%23" >Word#</A > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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" >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 >(>##)</B > :: <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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 >(>=##)</B > :: <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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 >(<##)</B > :: <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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 >(<=##)</B > :: <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <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_2Int#" ><A NAME="v%3AdecodeDouble_2Int%23" ></A ></A ><B >decodeDouble_2Int#</B > :: <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> (#<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 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="7" ><A NAME="7" >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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <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 > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <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 > -> <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_Int#" ><A NAME="v%3AdecodeFloat_Int%23" ></A ></A ><B >decodeFloat_Int#</B > :: <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> (#<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 integers. 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="8" ><A NAME="8" >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 > -> a -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AMutableArray%23" >MutableArray#</A > s a -> <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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> a -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> (#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 -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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="9" ><A NAME="9" >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, rounded up to the nearest multiple of a word). 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 > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <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 -> <A HREF="GHC-Prim.html#t%3AMutableByteArray%23" >MutableByteArray#</A > s -> <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 -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A ></TD ></TR ><TR ><TD CLASS="doc" >Return the size of the array in bytes, rounded up to the nearest multiple of a word. </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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A ></TD ></TR ><TR ><TD CLASS="doc" >Return the size of the array in bytes, rounded up to the nearest multiple of a word. </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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <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="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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</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:indexInt8Array#" ><A NAME="v%3AindexInt8Array%23" ></A ></A ><B >indexInt8Array#</B > :: <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%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 > -> <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="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 > -> <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="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 > -> <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="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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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:readCharArray#" ><A NAME="v%3AreadCharArray%23" ></A ></A ><B >readCharArray#</B > :: <A HREF="GHC-Prim.html#t%3AMutableByteArray%23" >MutableByteArray#</A > s -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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:readWord8Array#" ><A NAME="v%3AreadWord8Array%23" ></A ></A ><B >readWord8Array#</B > :: <A HREF="GHC-Prim.html#t%3AMutableByteArray%23" >MutableByteArray#</A > s -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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:writeCharArray#" ><A NAME="v%3AwriteCharArray%23" ></A ></A ><B >writeCharArray#</B > :: <A HREF="GHC-Prim.html#t%3AMutableByteArray%23" >MutableByteArray#</A > s -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AStablePtr%23" >StablePtr#</A > a -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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 -> <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%3AState%23" >State#</A > s -> <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="10" ><A NAME="10" >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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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 > -> <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" >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 > -> <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 > -> <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 > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <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="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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</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:indexInt8OffAddr#" ><A NAME="v%3AindexInt8OffAddr%23" ></A ></A ><B >indexInt8OffAddr#</B > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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="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 > -> <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="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 > -> <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="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 > -> <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="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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <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:readCharOffAddr#" ><A NAME="v%3AreadCharOffAddr%23" ></A ></A ><B >readCharOffAddr#</B > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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:readWord8OffAddr#" ><A NAME="v%3AreadWord8OffAddr%23" ></A ></A ><B >readWord8OffAddr#</B > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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:writeCharOffAddr#" ><A NAME="v%3AwriteCharOffAddr%23" ></A ></A ><B >writeCharOffAddr#</B > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AChar%23" >Char#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AFloat%23" >Float#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3ADouble%23" >Double#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AStablePtr%23" >StablePtr#</A > a -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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 > -> <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%3AState%23" >State#</A > s -> <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="11" ><A NAME="11" >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 -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> a -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> <A HREF="GHC-Prim.html#t%3AMutVar%23" >MutVar#</A > s a -> <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 -> (a -> b) -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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="12" ><A NAME="12" >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 > -> (#<A HREF="GHC-Prim.html#t%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> (b -> <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%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> <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%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 -> 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 -> <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%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 > -> (#<A HREF="GHC-Prim.html#t%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> <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%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 > -> (#<A HREF="GHC-Prim.html#t%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> <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%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 > -> (#<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="13" ><A NAME="13" >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 > -> (#<A HREF="GHC-Prim.html#t%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> <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%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 > -> (#<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 > -> (#<A HREF="GHC-Prim.html#t%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> (<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%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> <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%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 > -> (#<A HREF="GHC-Prim.html#t%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> (b -> <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%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> <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%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 > -> (#<A HREF="GHC-Prim.html#t%3AState%23" >State#</A > <A HREF="GHC-Prim.html#t%3ARealWorld" >RealWorld</A >, a#)) -> <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%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 -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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:readTVarIO#" ><A NAME="v%3AreadTVarIO%23" ></A ></A ><B >readTVarIO#</B > :: <A HREF="GHC-Prim.html#t%3ATVar%23" >TVar#</A > s a -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s, a#)</TD ></TR ><TR ><TD CLASS="doc" >Read contents of <TT >TVar#</TT > outside an STM transaction </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 -> a -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> <A HREF="GHC-Prim.html#t%3ATVar%23" >TVar#</A > s a -> <A HREF="GHC-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="14" ><A NAME="14" >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 -> (#<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 -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> a -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 -> a -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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 -> <A HREF="GHC-Prim.html#t%3AMVar%23" >MVar#</A > s a -> <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 -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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="15" ><A NAME="15" >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 > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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 > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <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="16" ><A NAME="16" >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 -> <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%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 > -> a -> <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%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 > -> a -> <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%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 > -> <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 > -> (#<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 > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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%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 > -> (#<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 > -> <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 > -> <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%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="17" ><A NAME="17" >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 -> b -> c -> <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%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 -> b -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <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%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 -> <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%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 -> <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%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 > -> (#<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 -> <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%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="18" ><A NAME="18" >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 -> <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%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 -> <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%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 -> <A HREF="GHC-Prim.html#t%3AStablePtr%23" >StablePtr#</A > 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:makeStableName#" ><A NAME="v%3AmakeStableName%23" ></A ></A ><B >makeStableName#</B > :: a -> <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%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 -> <A HREF="GHC-Prim.html#t%3AStableName%23" >StableName#</A > 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:stableNameToInt#" ><A NAME="v%3AstableNameToInt%23" ></A ></A ><B >stableNameToInt#</B > :: <A HREF="GHC-Prim.html#t%3AStableName%23" >StableName#</A > 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="19" ><A NAME="19" >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 -> 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" >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 -> <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:getSpark#" ><A NAME="v%3AgetSpark%23" ></A ></A ><B >getSpark#</B > :: <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> (#<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="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parGlobal#" ><A NAME="v%3AparGlobal%23" ></A ></A ><B >parGlobal#</B > :: a -> <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%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> b -> <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 -> <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%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> b -> <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 -> a -> <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%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> c -> <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 -> <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%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> b -> <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 -> <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%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> b -> <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 -> a -> <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%3AInt%23" >Int#</A > -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> c -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="21" ><A NAME="21" >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 -> <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 > -> a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="22" ><A NAME="22" >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 > -> (#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 > -> (#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 > -> <A HREF="GHC-Prim.html#t%3AByteArray%23" >ByteArray#</A > -> <A HREF="GHC-Prim.html#t%3AArray%23" >Array#</A > a -> <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%3AState%23" >State#</A > s -> (#<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 -> (#<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 -> <A HREF="GHC-Prim.html#t%3AInt%23" >Int#</A > -> (#<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="23" ><A NAME="23" >Misc </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="doc" >These aren't nearly as wired in as Etc... </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:traceCcs#" ><A NAME="v%3AtraceCcs%23" ></A ></A ><B >traceCcs#</B > :: a -> b -> b</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="24" ><A NAME="24" >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 -> b -> 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 -> 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, "INLINE and NOINLINE pragmas"). </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 -> 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 -> b -> b</PRE ><PRE >par x y = case (par# x) of _ -> 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 >(* -> *)</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 -> 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 "phantom" 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->Int</TT > to <TT >Bool</TT >, even if you later cast that <TT >Bool</TT > back to <TT >Int->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="decl" ><A NAME="v:traceEvent#" ><A NAME="v%3AtraceEvent%23" ></A ></A ><B >traceEvent#</B > :: <A HREF="GHC-Prim.html#t%3AAddr%23" >Addr#</A > -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s -> <A HREF="GHC-Prim.html#t%3AState%23" >State#</A > s</TD ></TR ><TR ><TD CLASS="doc" >Emits an event via the RTS tracing framework. The contents of the event is the zero-terminated byte string passed as the first argument. The event will be emitted either to the .eventlog file, or to stderr, depending on the runtime RTS flags. </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.6.1</TD ></TR ></TABLE ></BODY ></HTML >