Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > d6757a4e9edd0d5308943282e7f21feb > files > 54

ghc-dph-base-devel-0.4.0-8.6.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
>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 &lt;rl@cse.unsw.edu.au&gt;</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
> -&gt; <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; a -&gt; 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
> -&gt; <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; a -&gt; 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
> -&gt; <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; a -&gt; 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) =&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; a -&gt; a -&gt; b -&gt; 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
> -&gt; <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; a -&gt; 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
> -&gt; 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) -&gt; 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) -&gt; b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3ApairS"
>pairS</A
> ::  (a, b) -&gt; 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) -&gt; (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) -&gt; c) -&gt; a -&gt; b -&gt; c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AuncurryS"
>uncurryS</A
> ::  (a -&gt; b -&gt; c) -&gt; (a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b) -&gt; c</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Aunsafe_pairS"
>unsafe_pairS</A
> ::  (a, b) -&gt; 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) -&gt; (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 -&gt; (a -&gt; b) -&gt; <A HREF="Data-Array-Parallel-Base.html#t%3AMaybeS"
>MaybeS</A
> a -&gt; b</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AfromMaybeS"
>fromMaybeS</A
> ::  a -&gt; <A HREF="Data-Array-Parallel-Base.html#t%3AMaybeS"
>MaybeS</A
> a -&gt; 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 =&gt; <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
> -&gt; 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 =&gt; a -&gt; <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 =&gt; <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; a -&gt; <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 =&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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 =&gt; <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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
> -&gt; <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 -&gt; a</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Adseq"
>dseq</A
> ::  a -&gt; b -&gt; 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) -&gt; 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
> -&gt; <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; a -&gt; 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
> -&gt; <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; a -&gt; 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
> -&gt; <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; a -&gt; 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) =&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; a -&gt; a -&gt; b -&gt; 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
> -&gt; <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; a -&gt; 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
> -&gt; 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) =&gt; <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) =&gt; <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) =&gt; <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) =&gt; <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) =&gt; <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) =&gt; <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) -&gt; 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) -&gt; 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) -&gt; 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) -&gt; (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) -&gt; c) -&gt; a -&gt; b -&gt; 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 -&gt; b -&gt; c) -&gt; (a <A HREF="Data-Array-Parallel-Base.html#t%3A%3A%2A%3A"
>:*:</A
> b) -&gt; 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) -&gt; 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) -&gt; (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) =&gt; <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) =&gt; <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 =&gt; <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 =&gt; <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 -&gt; (a -&gt; b) -&gt; <A HREF="Data-Array-Parallel-Base.html#t%3AMaybeS"
>MaybeS</A
> a -&gt; 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 -&gt; <A HREF="Data-Array-Parallel-Base.html#t%3AMaybeS"
>MaybeS</A
> a -&gt; 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 =&gt; <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 =&gt; <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 =&gt; <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 =&gt; <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 =&gt; <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 =&gt; <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 =&gt; <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) =&gt; <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) =&gt; <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 =&gt; <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 =&gt; <A HREF="../base-4.2.0.2/Data-Bool.html#t%3ABool"
>Bool</A
> -&gt; 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 =&gt; a -&gt; <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 =&gt; <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; a -&gt; <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 =&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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 =&gt; <A HREF="../base-4.2.0.2/Data-Int.html#t%3AInt"
>Int</A
> -&gt; <A HREF="../base-4.2.0.2/Data-Char.html#t%3AString"
>String</A
> -&gt; <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) =&gt; Read (Tree a) where

         readsPrec d r =  readParen (d &gt; app_prec)
                          (\r -&gt; [(Leaf m,t) |
                                  (&quot;Leaf&quot;,s) &lt;- lex r,
                                  (m,t) &lt;- readsPrec (app_prec+1) s]) r

                       ++ readParen (d &gt; up_prec)
                          (\r -&gt; [(u:^:v,w) |
                                  (u,s) &lt;- readsPrec (up_prec+1) r,
                                  (&quot;:^:&quot;,t) &lt;- lex s,
                                  (v,w) &lt;- 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) =&gt; Read (Tree a) where

         readPrec = parens $ (prec app_prec $ do
                                  Ident &quot;Leaf&quot; &lt;- lexP
                                  m &lt;- step readPrec
                                  return (Leaf m))

                      +++ (prec up_prec $ do
                                  u &lt;- step readPrec
                                  Symbol &quot;:^:&quot; &lt;- lexP
                                  v &lt;- 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"
>-&gt; <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,&quot;&quot;)</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 &quot;&quot;))</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 =&gt; <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) =&gt; <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 =&gt; <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 =&gt; <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) =&gt; <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) =&gt; <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) =&gt; <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) =&gt; <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) =&gt; <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) =&gt; <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) =&gt; <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) =&gt; <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) =&gt; <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) =&gt; <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) =&gt; <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) =&gt; <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) =&gt; <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) =&gt; <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) =&gt; <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) =&gt; <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 -&gt; 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 -&gt; b -&gt; 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 =&gt; <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) =&gt; <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) =&gt; <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"
>&gt;&gt;=</A
></TT
> and <TT
><A HREF="../base-4.2.0.2/Control-Monad.html#v%3A%3E%3E"
>&gt;&gt;</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 &gt;&gt;= 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) -&gt; 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
>