Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 2ae17c39fb506b2fcc84184a7bfb08cf > files > 34

ghc-primitive-devel-0.3.1-2.fc14.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>Control.Monad.Primitive</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_Control-Monad-Primitive.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"
>primitive-0.3.1: Wrappers for primitive operations</TD
><TD CLASS="topbut"
><A HREF="src/Control-Monad-Primitive.html"
>Source code</A
></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"
>Control.Monad.Primitive</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Portability</TD
><TD CLASS="infoval"
>non-portable</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>Roman Leshchinskiy &lt;rl@cse.unsw.edu.au&gt;</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Description</TD
></TR
><TR
><TD CLASS="doc"
>Primitive state-transformer monads
</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"
>class</SPAN
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AMonad"
>Monad</A
> m =&gt; <A HREF="#t%3APrimMonad"
>PrimMonad</A
> m  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>type</SPAN
> <A HREF="#t%3APrimState"
>PrimState</A
> m </TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aprimitive"
>primitive</A
> ::  (<A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Prim.html#t%3AState%23"
>State#</A
> (<A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m) -&gt; (#<A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Prim.html#t%3AState%23"
>State#</A
> (<A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m), a#)) -&gt; m a</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Ainternal"
>internal</A
> ::  m a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Prim.html#t%3AState%23"
>State#</A
> (<A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m) -&gt; (#<A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Prim.html#t%3AState%23"
>State#</A
> (<A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m), a#)</TD
></TR
></TABLE
></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"
><A HREF="#v%3Aprimitive_"
>primitive_</A
> :: <A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m =&gt; (<A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Prim.html#t%3AState%23"
>State#</A
> (<A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m) -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Prim.html#t%3AState%23"
>State#</A
> (<A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m)) -&gt; m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AprimToPrim"
>primToPrim</A
> :: (<A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m1, <A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m2, <A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m1 ~ <A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m2) =&gt; m1 a -&gt; m2 a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AprimToIO"
>primToIO</A
> :: (<A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m, <A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m ~ <A HREF="Control-Monad-Primitive.html#t%3ARealWorld"
>RealWorld</A
>) =&gt; m a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AprimToST"
>primToST</A
> :: <A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m =&gt; m a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad-ST.html#t%3AST"
>ST</A
> (<A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m) a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunsafePrimToPrim"
>unsafePrimToPrim</A
> :: (<A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m1, <A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m2) =&gt; m1 a -&gt; m2 a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunsafePrimToIO"
>unsafePrimToIO</A
> :: <A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m =&gt; m a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunsafePrimToST"
>unsafePrimToST</A
> :: <A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m =&gt; m a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad-ST.html#t%3AST"
>ST</A
> s a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunsafeInlinePrim"
>unsafeInlinePrim</A
> :: <A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m =&gt; m a -&gt; a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunsafeInlineIO"
>unsafeInlineIO</A
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a -&gt; a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunsafeInlineST"
>unsafeInlineST</A
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad-ST.html#t%3AST"
>ST</A
> s a -&gt; a</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Atouch"
>touch</A
> :: <A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m =&gt; a -&gt; m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Documentation</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad.html#t%3AMonad"
>Monad</A
> m =&gt; <A NAME="t:PrimMonad"
><A NAME="t%3APrimMonad"
></A
></A
><B
>PrimMonad</B
> m  <SPAN CLASS="keyword"
>where</SPAN
></TD
><TD CLASS="declbut"
><A HREF="src/Control-Monad-Primitive.html#PrimMonad"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>Class of primitive state-transformer monads
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Associated Types</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>type</SPAN
> <A NAME="t:PrimState"
><A NAME="t%3APrimState"
></A
></A
><B
>PrimState</B
> m </TD
><TD CLASS="declbut"
><A HREF="src/Control-Monad-Primitive.html#PrimState"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
>State token type
</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
>Methods</TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:primitive"
><A NAME="v%3Aprimitive"
></A
></A
><B
>primitive</B
> ::  (<A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Prim.html#t%3AState%23"
>State#</A
> (<A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m) -&gt; (#<A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Prim.html#t%3AState%23"
>State#</A
> (<A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m), a#)) -&gt; m a</TD
><TD CLASS="declbut"
><A HREF="src/Control-Monad-Primitive.html#primitive"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Execute a primitive operation
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:internal"
><A NAME="v%3Ainternal"
></A
></A
><B
>internal</B
> ::  m a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Prim.html#t%3AState%23"
>State#</A
> (<A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m) -&gt; (#<A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Prim.html#t%3AState%23"
>State#</A
> (<A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m), a#)</TD
><TD CLASS="declbut"
><A HREF="src/Control-Monad-Primitive.html#internal"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Expose the internal structure of the monad
</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:PrimMonad')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:PrimMonad" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> (<A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><SPAN CLASS="keyword"
>data</SPAN
>  <A NAME="t:RealWorld"
><A NAME="t%3ARealWorld"
></A
></A
><B
>RealWorld</B
>  </TD
><TD CLASS="declbut"
><A HREF="src/GHC-Prim.html#RealWorld"
>Source</A
></TD
></TR
></TABLE
></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
><TR
><TD CLASS="section4"
><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:RealWorld')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:RealWorld" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Data-Typeable.html#t%3ATypeable"
>Typeable</A
> <A HREF="Control-Monad-Primitive.html#t%3ARealWorld"
>RealWorld</A
></TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:primitive_"
><A NAME="v%3Aprimitive_"
></A
></A
><B
>primitive_</B
> :: <A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m =&gt; (<A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Prim.html#t%3AState%23"
>State#</A
> (<A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m) -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Prim.html#t%3AState%23"
>State#</A
> (<A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m)) -&gt; m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
><TD CLASS="declbut"
><A HREF="src/Control-Monad-Primitive.html#primitive_"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Execute a primitive operation with no result
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:primToPrim"
><A NAME="v%3AprimToPrim"
></A
></A
><B
>primToPrim</B
> :: (<A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m1, <A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m2, <A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m1 ~ <A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m2) =&gt; m1 a -&gt; m2 a</TD
><TD CLASS="declbut"
><A HREF="src/Control-Monad-Primitive.html#primToPrim"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Convert a <TT
><A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
></TT
> to another monad with the same state token.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:primToIO"
><A NAME="v%3AprimToIO"
></A
></A
><B
>primToIO</B
> :: (<A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m, <A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m ~ <A HREF="Control-Monad-Primitive.html#t%3ARealWorld"
>RealWorld</A
>) =&gt; m a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/Control-Monad-Primitive.html#primToIO"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Convert a <TT
><A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
></TT
> with a <TT
><A HREF="Control-Monad-Primitive.html#t%3ARealWorld"
>RealWorld</A
></TT
> state token to <TT
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:primToST"
><A NAME="v%3AprimToST"
></A
></A
><B
>primToST</B
> :: <A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m =&gt; m a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad-ST.html#t%3AST"
>ST</A
> (<A HREF="Control-Monad-Primitive.html#t%3APrimState"
>PrimState</A
> m) a</TD
><TD CLASS="declbut"
><A HREF="src/Control-Monad-Primitive.html#primToST"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Convert a <TT
><A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
></TT
> to <TT
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad-ST.html#t%3AST"
>ST</A
></TT
>
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:unsafePrimToPrim"
><A NAME="v%3AunsafePrimToPrim"
></A
></A
><B
>unsafePrimToPrim</B
> :: (<A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m1, <A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m2) =&gt; m1 a -&gt; m2 a</TD
><TD CLASS="declbut"
><A HREF="src/Control-Monad-Primitive.html#unsafePrimToPrim"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Convert a <TT
><A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
></TT
> to another monad with a possibly different state
 token. This operation is highly unsafe!
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:unsafePrimToIO"
><A NAME="v%3AunsafePrimToIO"
></A
></A
><B
>unsafePrimToIO</B
> :: <A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m =&gt; m a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a</TD
><TD CLASS="declbut"
><A HREF="src/Control-Monad-Primitive.html#unsafePrimToIO"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Convert any <TT
><A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
></TT
> to <TT
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
></TT
>. This operation is highly unsafe!
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:unsafePrimToST"
><A NAME="v%3AunsafePrimToST"
></A
></A
><B
>unsafePrimToST</B
> :: <A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m =&gt; m a -&gt; <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad-ST.html#t%3AST"
>ST</A
> s a</TD
><TD CLASS="declbut"
><A HREF="src/Control-Monad-Primitive.html#unsafePrimToST"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="doc"
>Convert any <TT
><A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
></TT
> to <TT
><A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad-ST.html#t%3AST"
>ST</A
></TT
> with an arbitrary state token. This
 operations is highly unsafe!
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:unsafeInlinePrim"
><A NAME="v%3AunsafeInlinePrim"
></A
></A
><B
>unsafeInlinePrim</B
> :: <A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m =&gt; m a -&gt; a</TD
><TD CLASS="declbut"
><A HREF="src/Control-Monad-Primitive.html#unsafeInlinePrim"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:unsafeInlineIO"
><A NAME="v%3AunsafeInlineIO"
></A
></A
><B
>unsafeInlineIO</B
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/System-IO.html#t%3AIO"
>IO</A
> a -&gt; a</TD
><TD CLASS="declbut"
><A HREF="src/Control-Monad-Primitive.html#unsafeInlineIO"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:unsafeInlineST"
><A NAME="v%3AunsafeInlineST"
></A
></A
><B
>unsafeInlineST</B
> ::  <A HREF="/usr/share/doc/ghc/html/libraries/base-4.2.0.2/Control-Monad-ST.html#t%3AST"
>ST</A
> s a -&gt; a</TD
><TD CLASS="declbut"
><A HREF="src/Control-Monad-Primitive.html#unsafeInlineST"
>Source</A
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="topdecl"
><TABLE CLASS="declbar"
><TR
><TD CLASS="declname"
><A NAME="v:touch"
><A NAME="v%3Atouch"
></A
></A
><B
>touch</B
> :: <A HREF="Control-Monad-Primitive.html#t%3APrimMonad"
>PrimMonad</A
> m =&gt; a -&gt; m <A HREF="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
><TD CLASS="declbut"
><A HREF="src/Control-Monad-Primitive.html#touch"
>Source</A
></TD
></TR
></TABLE
></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
>