<!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 >Data.Array.Parallel.Base</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_Data-Array-Parallel-Base.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" >dph-base-0.4.0: Basic Definitions for Data-Parallel Haskell.</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" >Data.Array.Parallel.Base</FONT ></TD ><TD ALIGN="right" ><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="infohead" >Portability</TD ><TD CLASS="infoval" >non-portable (unboxed values and GHC libraries)</TD ></TR ><TR ><TD CLASS="infohead" >Stability</TD ><TD CLASS="infoval" >internal</TD ></TR ><TR ><TD CLASS="infohead" >Maintainer</TD ><TD CLASS="infoval" >Roman Leshchinskiy <rl@cse.unsw.edu.au></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" >Strict pairs </A ></DT ><DT ><A HREF="#2" >Strict sums </A ></DT ><DT ><A HREF="#3" >Strict Maybe </A ></DT ><DT ><A HREF="#4" >Lazy wrapper </A ></DT ><DT ><A HREF="#5" >Class of hyperstrict types </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" >Interface to the Base modules </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" ><A HREF="#v%3Acheck" >check</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> a -> a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcheckCritical" >checkCritical</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> a -> a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcheckLen" >checkLen</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> a -> a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcheckEq" >checkEq</A > :: (<A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > a, <A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > a) => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> a -> a -> b -> b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcheckNotEmpty" >checkNotEmpty</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> a -> a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Auninitialised" >uninitialised</A > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > a <A HREF="#t%3A%3A%2A%3A" >:*:</A > b = !a <A HREF="#v%3A%3A%2A%3A" >:*:</A > !b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfstS" >fstS</A > :: (a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b) -> a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsndS" >sndS</A > :: (a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b) -> b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ApairS" >pairS</A > :: (a, b) -> a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AunpairS" >unpairS</A > :: (a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b) -> (a, b)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcurryS" >curryS</A > :: ((a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b) -> c) -> a -> b -> c</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AuncurryS" >uncurryS</A > :: (a -> b -> c) -> (a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b) -> c</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aunsafe_pairS" >unsafe_pairS</A > :: (a, b) -> a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aunsafe_unpairS" >unsafe_unpairS</A > :: (a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b) -> (a, b)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AEitherS" >EitherS</A > a b </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3ALeftS" >LeftS</A > !a</TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3ARightS" >RightS</A > !b</TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3AMaybeS" >MaybeS</A > a </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >= <A HREF="#v%3ANothingS" >NothingS</A ></TD ></TR ><TR ><TD CLASS="decl" >| <A HREF="#v%3AJustS" >JustS</A > !a</TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AmaybeS" >maybeS</A > :: b -> (a -> b) -> <A HREF="Data-Array-Parallel-Base.html#t%3AMaybeS" >MaybeS</A > a -> b</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfromMaybeS" >fromMaybeS</A > :: a -> <A HREF="Data-Array-Parallel-Base.html#t%3AMaybeS" >MaybeS</A > a -> a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ALazy" >Lazy</A > a = <A HREF="#v%3ALazy" >Lazy</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A HREF="#t%3AHS" >HS</A > a </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AfromBool" >fromBool</A > :: <A HREF="../base-4.2.0.2/Prelude.html#t%3ANum" >Num</A > a => <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AtoBool" >toBool</A > :: <A HREF="../base-4.2.0.2/Prelude.html#t%3ANum" >Num</A > a => a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AshowsApp" >showsApp</A > :: <A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > a => <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> a -> <A HREF="../base-4.2.0.2/Text-Show.html#t%3AShowS" >ShowS</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AreadApp" >readApp</A > :: <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Text-ParserCombinators-ReadPrec.html#t%3AReadPrec" >ReadPrec</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AreadsApp" >readsApp</A > :: <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a => <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Text-ParserCombinators-ReadP.html#t%3AReadS" >ReadS</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A HREF="#t%3ARead" >Read</A > a <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3AreadsPrec" >readsPrec</A > :: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Text-ParserCombinators-ReadP.html#t%3AReadS" >ReadS</A > a</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AreadList" >readList</A > :: <A HREF="../base-4.2.0.2/Text-ParserCombinators-ReadP.html#t%3AReadS" >ReadS</A > [a]</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AreadPrec" >readPrec</A > :: <A HREF="../base-4.2.0.2/Text-ParserCombinators-ReadPrec.html#t%3AReadPrec" >ReadPrec</A > a</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AreadListPrec" >readListPrec</A > :: <A HREF="../base-4.2.0.2/Text-ParserCombinators-ReadPrec.html#t%3AReadPrec" >ReadPrec</A > [a]</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A HREF="#t%3ARebox" >Rebox</A > a <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3Arebox" >rebox</A > :: a -> a</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Adseq" >dseq</A > :: a -> b -> b</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ABox" >Box</A > a = <A HREF="#v%3ABox" >Box</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >newtype</SPAN > <A HREF="#t%3AST" >ST</A > s a = <A HREF="#v%3AST" >ST</A > (STRep s a)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3ArunST" >runST</A > :: (<SPAN CLASS="keyword" >forall</SPAN > s. <A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s a) -> 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="decl" ><A NAME="v:check" ><A NAME="v%3Acheck" ></A ></A ><B >check</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> a -> a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:checkCritical" ><A NAME="v%3AcheckCritical" ></A ></A ><B >checkCritical</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> a -> a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:checkLen" ><A NAME="v%3AcheckLen" ></A ></A ><B >checkLen</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> a -> a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:checkEq" ><A NAME="v%3AcheckEq" ></A ></A ><B >checkEq</B > :: (<A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > a, <A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > a) => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> a -> a -> b -> b</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:checkNotEmpty" ><A NAME="v%3AcheckNotEmpty" ></A ></A ><B >checkNotEmpty</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> a -> a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:uninitialised" ><A NAME="v%3Auninitialised" ></A ></A ><B >uninitialised</B > :: <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="1" ><A NAME="1" >Strict pairs </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > a <A NAME="t::*:" ><A NAME="t%3A%3A%2A%3A" ></A ></A ><B >:*:</B > b </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >Strict pair </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" >!a <A NAME="v::*:" ><A NAME="v%3A%3A%2A%3A" ></A ></A ><B >:*:</B > !b</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:%3A%2A%3A')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:%3A%2A%3A" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" >(<A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > a, <A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > b) => <A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > (<A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > a b)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > a, <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > b) => <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > (<A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > a b)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > b) => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (<A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > a b)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > a, <A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > b) => <A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > (<A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > a b)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > b) => <A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > (<A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > a b)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > b) => <A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > (<A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > a b)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:fstS" ><A NAME="v%3AfstS" ></A ></A ><B >fstS</B > :: (a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b) -> a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:sndS" ><A NAME="v%3AsndS" ></A ></A ><B >sndS</B > :: (a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b) -> b</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:pairS" ><A NAME="v%3ApairS" ></A ></A ><B >pairS</B > :: (a, b) -> a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:unpairS" ><A NAME="v%3AunpairS" ></A ></A ><B >unpairS</B > :: (a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b) -> (a, b)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:curryS" ><A NAME="v%3AcurryS" ></A ></A ><B >curryS</B > :: ((a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b) -> c) -> a -> b -> c</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:uncurryS" ><A NAME="v%3AuncurryS" ></A ></A ><B >uncurryS</B > :: (a -> b -> c) -> (a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b) -> c</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:unsafe_pairS" ><A NAME="v%3Aunsafe_pairS" ></A ></A ><B >unsafe_pairS</B > :: (a, b) -> a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b</TD ></TR ><TR ><TD CLASS="doc" ><P >Same as <TT ><A HREF="Data-Array-Parallel-Base.html#v%3ApairS" >pairS</A ></TT > but comes with the unsafe rule </P ><PRE > unsafe_unpairS . unsafe_pairS = id </PRE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:unsafe_unpairS" ><A NAME="v%3Aunsafe_unpairS" ></A ></A ><B >unsafe_unpairS</B > :: (a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > b) -> (a, b)</TD ></TR ><TR ><TD CLASS="doc" ><P >Same as <TT ><A HREF="Data-Array-Parallel-Base.html#v%3AunpairS" >unpairS</A ></TT > but comes with the unsafe rule </P ><PRE > unsafe_unpairS . unsafe_pairS = id </PRE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="2" ><A NAME="2" >Strict sums </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:EitherS" ><A NAME="t%3AEitherS" ></A ></A ><B >EitherS</B > a b </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >Strict sum </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:LeftS" ><A NAME="v%3ALeftS" ></A ></A ><B >LeftS</B > !a</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:RightS" ><A NAME="v%3ARightS" ></A ></A ><B >RightS</B > !b</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:EitherS')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:EitherS" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > b) => <A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AEitherS" >EitherS</A > a b)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > b) => <A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AEitherS" >EitherS</A > a b)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="3" ><A NAME="3" >Strict Maybe </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:MaybeS" ><A NAME="t%3AMaybeS" ></A ></A ><B >MaybeS</B > a </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >Strict Maybe </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:NothingS" ><A NAME="v%3ANothingS" ></A ></A ><B >NothingS</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:JustS" ><A NAME="v%3AJustS" ></A ></A ><B >JustS</B > !a</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:MaybeS')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:MaybeS" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Control-Monad.html#t%3AFunctor" >Functor</A > <A HREF="Data-Array-Parallel-Base.html#t%3AMaybeS" >MaybeS</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > a => <A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AMaybeS" >MaybeS</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > a => <A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AMaybeS" >MaybeS</A > a)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:maybeS" ><A NAME="v%3AmaybeS" ></A ></A ><B >maybeS</B > :: b -> (a -> b) -> <A HREF="Data-Array-Parallel-Base.html#t%3AMaybeS" >MaybeS</A > a -> b</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:fromMaybeS" ><A NAME="v%3AfromMaybeS" ></A ></A ><B >fromMaybeS</B > :: a -> <A HREF="Data-Array-Parallel-Base.html#t%3AMaybeS" >MaybeS</A > a -> a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="4" ><A NAME="4" >Lazy wrapper </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Lazy" ><A NAME="t%3ALazy" ></A ></A ><B >Lazy</B > a </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:Lazy" ><A NAME="v%3ALazy" ></A ></A ><B >Lazy</B > a</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Lazy')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Lazy" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Control-Monad.html#t%3AFunctor" >Functor</A > <A HREF="Data-Array-Parallel-Base.html#t%3ALazy" >Lazy</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > a => <A HREF="../base-4.2.0.2/Data-Eq.html#t%3AEq" >Eq</A > (<A HREF="Data-Array-Parallel-Base.html#t%3ALazy" >Lazy</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > a => <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrd" >Ord</A > (<A HREF="Data-Array-Parallel-Base.html#t%3ALazy" >Lazy</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (<A HREF="Data-Array-Parallel-Base.html#t%3ALazy" >Lazy</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > a => <A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > (<A HREF="Data-Array-Parallel-Base.html#t%3ALazy" >Lazy</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > (<A HREF="Data-Array-Parallel-Base.html#t%3ALazy" >Lazy</A > a)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" ><A NAME="5" ><A NAME="5" >Class of hyperstrict types </A ></A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A NAME="t:HS" ><A NAME="t%3AHS" ></A ></A ><B >HS</B > a </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >The class of hyperstrict types. These are those types for which weak head-normal form and normal form are the same. That is, once they are evaluated to WHNF, they are guaranteed to contain no thunks </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:HS')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:HS" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > <A HREF="../base-4.2.0.2/Prelude.html#t%3ADouble" >Double</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > <A HREF="../base-4.2.0.2/Prelude.html#t%3AFloat" >Float</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > <A HREF="../base-4.2.0.2/Data-Word.html#t%3AWord8" >Word8</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > ()</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > a => <A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AMaybeS" >MaybeS</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > e => <A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > (<A HREF="Data-Array-Parallel-Arr.html#t%3ABBArr" >BBArr</A > e)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > e => <A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > (<A HREF="Data-Array-Parallel-Arr.html#t%3ABUArr" >BUArr</A > e)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > b) => <A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AEitherS" >EitherS</A > a b)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > b) => <A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > (<A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > a b)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > e => <A HREF="Data-Array-Parallel-Base.html#t%3AHS" >HS</A > (<A HREF="Data-Array-Parallel-Arr.html#t%3AMBUArr" >MBUArr</A > s e)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:fromBool" ><A NAME="v%3AfromBool" ></A ></A ><B >fromBool</B > :: <A HREF="../base-4.2.0.2/Prelude.html#t%3ANum" >Num</A > a => <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > -> a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:toBool" ><A NAME="v%3AtoBool" ></A ></A ><B >toBool</B > :: <A HREF="../base-4.2.0.2/Prelude.html#t%3ANum" >Num</A > a => a -> <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:showsApp" ><A NAME="v%3AshowsApp" ></A ></A ><B >showsApp</B > :: <A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > a => <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> a -> <A HREF="../base-4.2.0.2/Text-Show.html#t%3AShowS" >ShowS</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:readApp" ><A NAME="v%3AreadApp" ></A ></A ><B >readApp</B > :: <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a => <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Text-ParserCombinators-ReadPrec.html#t%3AReadPrec" >ReadPrec</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:readsApp" ><A NAME="v%3AreadsApp" ></A ></A ><B >readsApp</B > :: <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a => <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > -> <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A > -> <A HREF="../base-4.2.0.2/Text-ParserCombinators-ReadP.html#t%3AReadS" >ReadS</A > a</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A NAME="t:Read" ><A NAME="t%3ARead" ></A ></A ><B >Read</B > a <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >Parsing of <TT ><A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TT >s, producing values. </P ><P >Minimal complete definition: <TT ><A HREF="Data-Array-Parallel-Base.html#v%3AreadsPrec" >readsPrec</A ></TT > (or, for GHC only, <TT ><A HREF="Data-Array-Parallel-Base.html#v%3AreadPrec" >readPrec</A ></TT >) </P ><P >Derived instances of <TT ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A ></TT > make the following assumptions, which derived instances of Text.Show.Show obey: </P ><UL ><LI > If the constructor is defined to be an infix operator, then the derived <TT ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A ></TT > instance will parse only infix applications of the constructor (not the prefix form). </LI ><LI > Associativity is not used to reduce the occurrence of parentheses, although precedence may be. </LI ><LI > If the constructor is defined using record syntax, the derived <TT ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A ></TT > will parse only the record-syntax form, and furthermore, the fields must be given in the same order as the original declaration. </LI ><LI > The derived <TT ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A ></TT > instance allows arbitrary Haskell whitespace between tokens of the input string. Extra parentheses are also allowed. </LI ></UL ><P >For example, given the declarations </P ><TT > infixr 5 :^: data Tree a = Leaf a | Tree a :^: Tree a </TT ><P >the derived instance of <TT ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A ></TT > in Haskell 98 is equivalent to </P ><TT > instance (Read a) => Read (Tree a) where readsPrec d r = readParen (d > app_prec) (\r -> [(Leaf m,t) | ("Leaf",s) <- lex r, (m,t) <- readsPrec (app_prec+1) s]) r ++ readParen (d > up_prec) (\r -> [(u:^:v,w) | (u,s) <- readsPrec (up_prec+1) r, (":^:",t) <- lex s, (v,w) <- readsPrec (up_prec+1) t]) r where app_prec = 10 up_prec = 5 </TT ><P >Note that right-associativity of <TT >:^:</TT > is unused. </P ><P >The derived instance in GHC is equivalent to </P ><TT > instance (Read a) => Read (Tree a) where readPrec = parens $ (prec app_prec $ do Ident "Leaf" <- lexP m <- step readPrec return (Leaf m)) +++ (prec up_prec $ do u <- step readPrec Symbol ":^:" <- lexP v <- step readPrec return (u :^: v)) where app_prec = 10 up_prec = 5 readListPrec = readListPrecDefault </TT ></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="decl" ><A NAME="v:readsPrec" ><A NAME="v%3AreadsPrec" ></A ></A ><B >readsPrec</B ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="arg" >:: <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ><TD CLASS="rdoc" >the operator precedence of the enclosing context (a number from <TT >0</TT > to <TT >11</TT >). Function application has precedence <TT >10</TT >. </TD ></TR ><TR ><TD CLASS="arg" >-> <A HREF="../base-4.2.0.2/Text-ParserCombinators-ReadP.html#t%3AReadS" >ReadS</A > a</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="ndoc" COLSPAN="2" ><P >attempts to parse a value from the front of the string, returning a list of (parsed value, remaining string) pairs. If there is no successful parse, the returned list is empty. </P ><P >Derived instances of <TT ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A ></TT > and Text.Show.Show satisfy the following: </P ><UL ><LI > <TT >(x,"")</TT > is an element of <TT >(<TT ><A HREF="Data-Array-Parallel-Base.html#v%3AreadsPrec" >readsPrec</A ></TT > d (Text.Show.showsPrec d x ""))</TT >. </LI ></UL ><P >That is, <TT ><A HREF="Data-Array-Parallel-Base.html#v%3AreadsPrec" >readsPrec</A ></TT > parses the string produced by Text.Show.showsPrec, and delivers the value that Text.Show.showsPrec started with. </P ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:readList" ><A NAME="v%3AreadList" ></A ></A ><B >readList</B > :: <A HREF="../base-4.2.0.2/Text-ParserCombinators-ReadP.html#t%3AReadS" >ReadS</A > [a]</TD ></TR ><TR ><TD CLASS="doc" >The method <TT ><A HREF="Data-Array-Parallel-Base.html#v%3AreadList" >readList</A ></TT > is provided to allow the programmer to give a specialised way of parsing lists of values. For example, this is used by the predefined <TT ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A ></TT > instance of the <TT ><A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A ></TT > type, where values of type <TT ><A HREF="../base-4.2.0.2/Data-Char.html#t%3AString" >String</A ></TT > should be are expected to use double quotes, rather than square brackets. </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:readPrec" ><A NAME="v%3AreadPrec" ></A ></A ><B >readPrec</B > :: <A HREF="../base-4.2.0.2/Text-ParserCombinators-ReadPrec.html#t%3AReadPrec" >ReadPrec</A > a</TD ></TR ><TR ><TD CLASS="doc" >Proposed replacement for <TT ><A HREF="Data-Array-Parallel-Base.html#v%3AreadsPrec" >readsPrec</A ></TT > using new-style parsers (GHC only). </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:readListPrec" ><A NAME="v%3AreadListPrec" ></A ></A ><B >readListPrec</B > :: <A HREF="../base-4.2.0.2/Text-ParserCombinators-ReadPrec.html#t%3AReadPrec" >ReadPrec</A > [a]</TD ></TR ><TR ><TD CLASS="doc" >Proposed replacement for <TT ><A HREF="Data-Array-Parallel-Base.html#v%3AreadList" >readList</A ></TT > using new-style parsers (GHC only). The default definition uses <TT ><A HREF="Data-Array-Parallel-Base.html#v%3AreadList" >readList</A ></TT >. Instances that define <TT ><A HREF="Data-Array-Parallel-Base.html#v%3AreadPrec" >readPrec</A ></TT > should also define <TT ><A HREF="Data-Array-Parallel-Base.html#v%3AreadListPrec" >readListPrec</A ></TT > as <TT ><A HREF="../base-4.2.0.2/Text-Read.html#v%3AreadListPrecDefault" >readListPrecDefault</A ></TT >. </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:Read')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Read" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Prelude.html#t%3ADouble" >Double</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Prelude.html#t%3AFloat" >Float</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt8" >Int8</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt16" >Int16</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt32" >Int32</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt64" >Int64</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Prelude.html#t%3AInteger" >Integer</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Data-Ord.html#t%3AOrdering" >Ordering</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Data-Word.html#t%3AWord" >Word</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Data-Word.html#t%3AWord8" >Word8</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Data-Word.html#t%3AWord16" >Word16</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Data-Word.html#t%3AWord32" >Word32</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Data-Word.html#t%3AWord64" >Word64</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > ()</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/GHC-IO-Handle.html#t%3ABufferMode" >BufferMode</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACChar" >CChar</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACSChar" >CSChar</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACUChar" >CUChar</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACShort" >CShort</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACUShort" >CUShort</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACInt" >CInt</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACUInt" >CUInt</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACLong" >CLong</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACULong" >CULong</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACLLong" >CLLong</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACULLong" >CULLong</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACFloat" >CFloat</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACDouble" >CDouble</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACPtrdiff" >CPtrdiff</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACSize" >CSize</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACWchar" >CWchar</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACSigAtomic" >CSigAtomic</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACClock" >CClock</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACTime" >CTime</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACIntPtr" >CIntPtr</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACUIntPtr" >CUIntPtr</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACIntMax" >CIntMax</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Foreign-C-Types.html#t%3ACUIntMax" >CUIntMax</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../base-4.2.0.2/Text-Read-Lex.html#t%3ALexeme" >Lexeme</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../random-1.0.0.2/System-Random.html#t%3AStdGen" >StdGen</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../time-1.1.4/Data-Time-LocalTime.html#t%3ALocalTime" >LocalTime</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../time-1.1.4/Data-Time-LocalTime.html#t%3AZonedTime" >ZonedTime</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../time-1.1.4/Data-Time-LocalTime.html#t%3ATimeOfDay" >TimeOfDay</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../time-1.1.4/Data-Time-LocalTime.html#t%3ATimeZone" >TimeZone</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../time-1.1.4/Data-Time-Clock.html#t%3AUTCTime" >UTCTime</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > <A HREF="../time-1.1.4/Data-Time-Calendar.html#t%3ADay" >Day</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > [a]</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="../base-4.2.0.2/Prelude.html#t%3AIntegral" >Integral</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a) => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (<A HREF="../base-4.2.0.2/Data-Ratio.html#t%3ARatio" >Ratio</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (<A HREF="../base-4.2.0.2/Data-Maybe.html#t%3AMaybe" >Maybe</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (<A HREF="Data-Array-Parallel-Base.html#t%3ALazy" >Lazy</A > a)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > b) => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (a, b)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="../base-4.2.0.2/Data-Ix.html#t%3AIx" >Ix</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > b) => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (<A HREF="../array-0.3.0.1/Data-Array.html#t%3AArray" >Array</A > a b)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > b) => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (<A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > a b)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > b, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > c) => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (a, b, c)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > b, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > c, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > d) => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (a, b, c, d)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > b, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > c, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > d, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > e) => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (a, b, c, d, e)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > b, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > c, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > d, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > e, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > f) => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (a, b, c, d, e, f)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > b, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > c, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > d, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > e, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > f, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > g) => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (a, b, c, d, e, f, g)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > b, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > c, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > d, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > e, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > f, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > g, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > h) => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (a, b, c, d, e, f, g, h)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > b, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > c, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > d, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > e, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > f, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > g, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > h, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > i) => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (a, b, c, d, e, f, g, h, i)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > b, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > c, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > d, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > e, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > f, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > g, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > h, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > i, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > j) => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (a, b, c, d, e, f, g, h, i, j)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > b, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > c, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > d, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > e, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > f, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > g, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > h, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > i, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > j, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > k) => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (a, b, c, d, e, f, g, h, i, j, k)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > b, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > c, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > d, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > e, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > f, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > g, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > h, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > i, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > j, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > k, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > l) => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (a, b, c, d, e, f, g, h, i, j, k, l)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > b, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > c, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > d, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > e, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > f, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > g, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > h, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > i, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > j, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > k, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > l, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > m) => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (a, b, c, d, e, f, g, h, i, j, k, l, m)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > b, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > c, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > d, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > e, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > f, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > g, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > h, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > i, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > j, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > k, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > l, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > m, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > n) => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (a, b, c, d, e, f, g, h, i, j, k, l, m, n)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > b, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > c, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > d, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > e, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > f, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > g, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > h, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > i, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > j, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > k, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > l, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > m, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > n, <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > o) => <A HREF="Data-Array-Parallel-Base.html#t%3ARead" >Read</A > (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A NAME="t:Rebox" ><A NAME="t%3ARebox" ></A ></A ><B >Rebox</B > a <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><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="decl" ><A NAME="v:rebox" ><A NAME="v%3Arebox" ></A ></A ><B >rebox</B > :: a -> a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:dseq" ><A NAME="v%3Adseq" ></A ></A ><B >dseq</B > :: a -> b -> b</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:Rebox')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Rebox" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > <A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > <A HREF="../base-4.2.0.2/Prelude.html#t%3ADouble" >Double</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > <A HREF="../base-4.2.0.2/Prelude.html#t%3AFloat" >Float</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > ()</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > (<A HREF="Data-Array-Parallel-Base.html#t%3ALazy" >Lazy</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > a => <A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AMaybeS" >MaybeS</A > a)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > (<A HREF="Data-Array-Parallel-Base.html#t%3ABox" >Box</A > a)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > b) => <A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AEitherS" >EitherS</A > a b)</TD ></TR ><TR ><TD CLASS="decl" >(<A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > a, <A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > b) => <A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > (<A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A" >:*:</A > a b)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:Box" ><A NAME="t%3ABox" ></A ></A ><B >Box</B > a </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:Box" ><A NAME="v%3ABox" ></A ></A ><B >Box</B > a</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:Box')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:Box" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="Data-Array-Parallel-Base.html#t%3ARebox" >Rebox</A > (<A HREF="Data-Array-Parallel-Base.html#t%3ABox" >Box</A > a)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >newtype</SPAN > <A NAME="t:ST" ><A NAME="t%3AST" ></A ></A ><B >ST</B > s a </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><P >The strict state-transformer monad. A computation of type <TT ><TT ><A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A ></TT > s a</TT > transforms an internal state indexed by <TT >s</TT >, and returns a value of type <TT >a</TT >. The <TT >s</TT > parameter is either </P ><UL ><LI > an uninstantiated type variable (inside invocations of <TT ><A HREF="Data-Array-Parallel-Base.html#v%3ArunST" >runST</A ></TT >), or </LI ><LI > <TT ><A HREF="../base-4.2.0.2/Control-Monad-ST.html#t%3ARealWorld" >RealWorld</A ></TT > (inside invocations of Control.Monad.ST.stToIO). </LI ></UL ><P >It serves to keep the internal states of different invocations of <TT ><A HREF="Data-Array-Parallel-Base.html#v%3ArunST" >runST</A ></TT > separate from each other and from invocations of Control.Monad.ST.stToIO. </P ><P >The <TT ><A HREF="../base-4.2.0.2/Control-Monad.html#v%3A%3E%3E%3D" >>>=</A ></TT > and <TT ><A HREF="../base-4.2.0.2/Control-Monad.html#v%3A%3E%3E" >>></A ></TT > operations are strict in the state (though not in values stored in the state). For example, </P ><TT ><TT ><A HREF="Data-Array-Parallel-Base.html#v%3ArunST" >runST</A ></TT > (writeSTRef _|_ v >>= f) = _|_</TT ></TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:ST" ><A NAME="v%3AST" ></A ></A ><B >ST</B > (STRep s a)</TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:ST')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:ST" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Control-Monad.html#t%3AMonad" >Monad</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Control-Monad.html#t%3AFunctor" >Functor</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Control-Monad-Fix.html#t%3AMonadFix" >MonadFix</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../array-0.3.0.1/Data-Array-MArray.html#t%3AMArray" >MArray</A > (<A HREF="../array-0.3.0.1/Data-Array-ST.html#t%3ASTUArray" >STUArray</A > s) <A HREF="../base-4.2.0.2/Data-Word.html#t%3AWord" >Word</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../array-0.3.0.1/Data-Array-MArray.html#t%3AMArray" >MArray</A > (<A HREF="../array-0.3.0.1/Data-Array-ST.html#t%3ASTUArray" >STUArray</A > s) <A HREF="../base-4.2.0.2/Data-Word.html#t%3AWord8" >Word8</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../array-0.3.0.1/Data-Array-MArray.html#t%3AMArray" >MArray</A > (<A HREF="../array-0.3.0.1/Data-Array-ST.html#t%3ASTUArray" >STUArray</A > s) <A HREF="../base-4.2.0.2/Data-Word.html#t%3AWord64" >Word64</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../array-0.3.0.1/Data-Array-MArray.html#t%3AMArray" >MArray</A > (<A HREF="../array-0.3.0.1/Data-Array-ST.html#t%3ASTUArray" >STUArray</A > s) <A HREF="../base-4.2.0.2/Data-Word.html#t%3AWord32" >Word32</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../array-0.3.0.1/Data-Array-MArray.html#t%3AMArray" >MArray</A > (<A HREF="../array-0.3.0.1/Data-Array-ST.html#t%3ASTUArray" >STUArray</A > s) <A HREF="../base-4.2.0.2/Data-Word.html#t%3AWord16" >Word16</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../array-0.3.0.1/Data-Array-MArray.html#t%3AMArray" >MArray</A > (<A HREF="../array-0.3.0.1/Data-Array-ST.html#t%3ASTUArray" >STUArray</A > s) <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt" >Int</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../array-0.3.0.1/Data-Array-MArray.html#t%3AMArray" >MArray</A > (<A HREF="../array-0.3.0.1/Data-Array-ST.html#t%3ASTUArray" >STUArray</A > s) <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt8" >Int8</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../array-0.3.0.1/Data-Array-MArray.html#t%3AMArray" >MArray</A > (<A HREF="../array-0.3.0.1/Data-Array-ST.html#t%3ASTUArray" >STUArray</A > s) <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt64" >Int64</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../array-0.3.0.1/Data-Array-MArray.html#t%3AMArray" >MArray</A > (<A HREF="../array-0.3.0.1/Data-Array-ST.html#t%3ASTUArray" >STUArray</A > s) <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt32" >Int32</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../array-0.3.0.1/Data-Array-MArray.html#t%3AMArray" >MArray</A > (<A HREF="../array-0.3.0.1/Data-Array-ST.html#t%3ASTUArray" >STUArray</A > s) <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt16" >Int16</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../array-0.3.0.1/Data-Array-MArray.html#t%3AMArray" >MArray</A > (<A HREF="../array-0.3.0.1/Data-Array-ST.html#t%3ASTUArray" >STUArray</A > s) <A HREF="../base-4.2.0.2/Prelude.html#t%3AFloat" >Float</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../array-0.3.0.1/Data-Array-MArray.html#t%3AMArray" >MArray</A > (<A HREF="../array-0.3.0.1/Data-Array-ST.html#t%3ASTUArray" >STUArray</A > s) <A HREF="../base-4.2.0.2/Prelude.html#t%3ADouble" >Double</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../array-0.3.0.1/Data-Array-MArray.html#t%3AMArray" >MArray</A > (<A HREF="../array-0.3.0.1/Data-Array-ST.html#t%3ASTUArray" >STUArray</A > s) <A HREF="../base-4.2.0.2/Data-Char.html#t%3AChar" >Char</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../array-0.3.0.1/Data-Array-MArray.html#t%3AMArray" >MArray</A > (<A HREF="../array-0.3.0.1/Data-Array-ST.html#t%3ASTUArray" >STUArray</A > s) <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool" >Bool</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../array-0.3.0.1/Data-Array-MArray.html#t%3AMArray" >MArray</A > (<A HREF="../array-0.3.0.1/Data-Array-ST.html#t%3ASTArray" >STArray</A > s) e (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../array-0.3.0.1/Data-Array-MArray.html#t%3AMArray" >MArray</A > (<A HREF="../array-0.3.0.1/Data-Array-ST.html#t%3ASTUArray" >STUArray</A > s) (<A HREF="../base-4.2.0.2/Foreign-StablePtr.html#t%3AStablePtr" >StablePtr</A > a) (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../array-0.3.0.1/Data-Array-MArray.html#t%3AMArray" >MArray</A > (<A HREF="../array-0.3.0.1/Data-Array-ST.html#t%3ASTUArray" >STUArray</A > s) (<A HREF="../base-4.2.0.2/Foreign-Ptr.html#t%3APtr" >Ptr</A > a) (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../array-0.3.0.1/Data-Array-MArray.html#t%3AMArray" >MArray</A > (<A HREF="../array-0.3.0.1/Data-Array-ST.html#t%3ASTUArray" >STUArray</A > s) (<A HREF="../base-4.2.0.2/Foreign-Ptr.html#t%3AFunPtr" >FunPtr</A > a) (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s)</TD ></TR ><TR ><TD CLASS="decl" ><A HREF="../base-4.2.0.2/Text-Show.html#t%3AShow" >Show</A > (<A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s a)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:runST" ><A NAME="v%3ArunST" ></A ></A ><B >runST</B > :: (<SPAN CLASS="keyword" >forall</SPAN > s. <A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A > s a) -> a</TD ></TR ><TR ><TD CLASS="doc" >Return the value computed by a state transformer computation. The <TT >forall</TT > ensures that the internal state used by the <TT ><A HREF="Data-Array-Parallel-Base.html#t%3AST" >ST</A ></TT > computation is inaccessible to the rest of the program. </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 >