Sophie

Sophie

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--Rendered using the Haskell Html Library v0.2-->
<HTML
><HEAD
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8"
><TITLE
>Data.Array.MArray</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-MArray.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"
>array-0.2.0.0: Mutable and immutable arrays</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.MArray</FONT
></TD
><TD ALIGN="right"
><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="infohead"
>Portability</TD
><TD CLASS="infoval"
>non-portable (uses Data.Array.Base)</TD
></TR
><TR
><TD CLASS="infohead"
>Stability</TD
><TD CLASS="infoval"
>experimental</TD
></TR
><TR
><TD CLASS="infohead"
>Maintainer</TD
><TD CLASS="infoval"
>libraries@haskell.org</TD
></TR
></TABLE
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="section4"
><B
>Contents</B
></TD
></TR
><TR
><TD
><DL
><DT
><A HREF="#1"
>Class of mutable array types
</A
></DT
><DT
><A HREF="#2"
>The <TT
>Ix</TT
> class and operations
</A
></DT
><DT
><A HREF="#3"
>Constructing mutable arrays
</A
></DT
><DT
><A HREF="#4"
>Reading and writing mutable arrays
</A
></DT
><DT
><A HREF="#5"
>Derived arrays
</A
></DT
><DT
><A HREF="#6"
>Deconstructing mutable arrays
</A
></DT
><DT
><A HREF="#7"
>Conversions between mutable and immutable arrays
</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"
>An overloaded interface to mutable arrays.  For array types which can be
 used with this interface, see <A HREF="Data-Array-IO.html"
>Data.Array.IO</A
>, <A HREF="Data-Array-ST.html"
>Data.Array.ST</A
>, 
 and <A HREF="Data-Array-Storable.html"
>Data.Array.Storable</A
>.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
>Synopsis</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="../base/Control-Monad.html#t%3AMonad"
>Monad</A
> m =&gt; <A HREF="#t%3AMArray"
>MArray</A
> a e m  <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%3AgetBounds"
>getBounds</A
> :: <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i =&gt; a i e -&gt; m (i, i)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewArray"
>newArray</A
> :: <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i =&gt; (i, i) -&gt; e -&gt; m (a i e)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewArray_"
>newArray_</A
> :: <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i =&gt; (i, i) -&gt; m (a i e)</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
>module <A HREF="../base/Data-Ix.html"
>Data.Ix</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AnewListArray"
>newListArray</A
> :: (<A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e m, <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i) =&gt; (i, i) -&gt; [e] -&gt; m (a i e)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AreadArray"
>readArray</A
> :: (<A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e m, <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i) =&gt; a i e -&gt; i -&gt; m e</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AwriteArray"
>writeArray</A
> :: (<A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e m, <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i) =&gt; a i e -&gt; i -&gt; e -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmapArray"
>mapArray</A
> :: (<A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e' m, <A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e m, <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i) =&gt; (e' -&gt; e) -&gt; a i e' -&gt; m (a i e)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AmapIndices"
>mapIndices</A
> :: (<A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e m, <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i, <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> j) =&gt; (i, i) -&gt; (i -&gt; j) -&gt; a j e -&gt; m (a i e)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetElems"
>getElems</A
> :: (<A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e m, <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i) =&gt; a i e -&gt; m [e]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AgetAssocs"
>getAssocs</A
> :: (<A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e m, <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i) =&gt; a i e -&gt; m [(i, e)]</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Afreeze"
>freeze</A
> :: (<A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i, <A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e m, <A HREF="Data-Array-IArray.html#t%3AIArray"
>IArray</A
> b e) =&gt; a i e -&gt; m (b i e)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunsafeFreeze"
>unsafeFreeze</A
> :: (<A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i, <A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e m, <A HREF="Data-Array-IArray.html#t%3AIArray"
>IArray</A
> b e) =&gt; a i e -&gt; m (b i e)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3Athaw"
>thaw</A
> :: (<A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i, <A HREF="Data-Array-IArray.html#t%3AIArray"
>IArray</A
> a e, <A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> b e m) =&gt; a i e -&gt; m (b i e)</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="#v%3AunsafeThaw"
>unsafeThaw</A
> :: (<A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i, <A HREF="Data-Array-IArray.html#t%3AIArray"
>IArray</A
> a e, <A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> b e m) =&gt; a i e -&gt; m (b i e)</TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="1"
><A NAME="1"
>Class of mutable array types
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><SPAN CLASS="keyword"
>class</SPAN
> <A HREF="../base/Control-Monad.html#t%3AMonad"
>Monad</A
> m =&gt; <A NAME="t:MArray"
><A NAME="t%3AMArray"
></A
></A
><B
>MArray</B
> a e m  <SPAN CLASS="keyword"
>where</SPAN
></TD
></TR
><TR
><TD CLASS="body"
><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0"
><TR
><TD CLASS="ndoc"
><P
>Class of mutable array types.
</P
><P
>An array type has the form <TT
>(a i e)</TT
> where <TT
>a</TT
> is the array type
constructor (kind <TT
>* -&gt; * -&gt; *</TT
>), <TT
>i</TT
> is the index type (a member of
the class <TT
><A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
></TT
>), and <TT
>e</TT
> is the element type.
</P
><P
>The <TT
>MArray</TT
> class is parameterised over both <TT
>a</TT
> and <TT
>e</TT
> (so that
instances specialised to certain element types can be defined, in the
same way as for <TT
><A HREF="Data-Array-IArray.html#t%3AIArray"
>IArray</A
></TT
>), and also over the type of the monad, <TT
>m</TT
>,
in which the mutable array will be manipulated.
</P
></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:getBounds"
><A NAME="v%3AgetBounds"
></A
></A
><B
>getBounds</B
> :: <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i =&gt; a i e -&gt; m (i, i)</TD
></TR
><TR
><TD CLASS="doc"
>Returns the bounds of the array
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newArray"
><A NAME="v%3AnewArray"
></A
></A
><B
>newArray</B
> :: <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i =&gt; (i, i) -&gt; e -&gt; m (a i e)</TD
></TR
><TR
><TD CLASS="doc"
>Builds a new array, with every element initialised to the supplied 
 value.
</TD
></TR
><TR
><TD CLASS="s8"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newArray_"
><A NAME="v%3AnewArray_"
></A
></A
><B
>newArray_</B
> :: <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i =&gt; (i, i) -&gt; m (a i e)</TD
></TR
><TR
><TD CLASS="doc"
>Builds a new array, with every element initialised to an
 undefined value. In a monadic context in which operations must
 be deterministic (e.g. the ST monad), the array elements are
 initialised to a fixed but undefined value, such as zero.
</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:MArray')" ALT="show/hide"
> Instances</TD
></TR
><TR
><TD CLASS="body"
><DIV ID="i:MArray" STYLE="display:block;"
><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0"
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> IOArray e <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> IOArray e <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3ADouble"
>Double</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3ADouble"
>Double</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3ADouble"
>Double</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AFloat"
>Float</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AFloat"
>Float</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AFloat"
>Float</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Int.html#t%3AInt8"
>Int8</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Int.html#t%3AInt8"
>Int8</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Int.html#t%3AInt8"
>Int8</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Int.html#t%3AInt16"
>Int16</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Int.html#t%3AInt16"
>Int16</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Int.html#t%3AInt16"
>Int16</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Int.html#t%3AInt32"
>Int32</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Int.html#t%3AInt32"
>Int32</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Int.html#t%3AInt32"
>Int32</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Int.html#t%3AInt64"
>Int64</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Int.html#t%3AInt64"
>Int64</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Int.html#t%3AInt64"
>Int64</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Word.html#t%3AWord"
>Word</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Word.html#t%3AWord"
>Word</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Word.html#t%3AWord"
>Word</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Word.html#t%3AWord8"
>Word8</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Word.html#t%3AWord8"
>Word8</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Word.html#t%3AWord8"
>Word8</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Word.html#t%3AWord16"
>Word16</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Word.html#t%3AWord16"
>Word16</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Word.html#t%3AWord16"
>Word16</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Word.html#t%3AWord32"
>Word32</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Word.html#t%3AWord32"
>Word32</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Word.html#t%3AWord32"
>Word32</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Word.html#t%3AWord64"
>Word64</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Word.html#t%3AWord64"
>Word64</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> <A HREF="../base/Data-Word.html#t%3AWord64"
>Word64</A
> <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Foreign-Storable.html#t%3AStorable"
>Storable</A
> e =&gt; <A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-Storable.html#t%3AStorableArray"
>StorableArray</A
> e <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="../base/Foreign-Storable.html#t%3AStorable"
>Storable</A
> e =&gt; <A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-Storable.html#t%3AStorableArray"
>StorableArray</A
> e <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> (<A HREF="../base/Foreign-StablePtr.html#t%3AStablePtr"
>StablePtr</A
> a) <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> (<A HREF="../base/Foreign-StablePtr.html#t%3AStablePtr"
>StablePtr</A
> a) <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> (<A HREF="../base/Foreign-StablePtr.html#t%3AStablePtr"
>StablePtr</A
> a) <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> (<A HREF="../base/Foreign-Ptr.html#t%3APtr"
>Ptr</A
> a) <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> (<A HREF="../base/Foreign-Ptr.html#t%3APtr"
>Ptr</A
> a) <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> (<A HREF="../base/Foreign-Ptr.html#t%3APtr"
>Ptr</A
> a) <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> (<A HREF="../base/Foreign-Ptr.html#t%3AFunPtr"
>FunPtr</A
> a) <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> (<A HREF="../base/Foreign-Ptr.html#t%3AFunPtr"
>FunPtr</A
> a) <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> <A HREF="Data-Array-IO-Internals.html#t%3AIOUArray"
>IOUArray</A
> (<A HREF="../base/Foreign-Ptr.html#t%3AFunPtr"
>FunPtr</A
> a) <A HREF="../base/System-IO.html#t%3AIO"
>IO</A
></TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="../base/GHC-Arr.html#t%3ASTArray"
>STArray</A
> s) e (<A HREF="../base/Control-Monad-ST-Lazy.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="../base/GHC-Arr.html#t%3ASTArray"
>STArray</A
> s) e (<A HREF="../base/Control-Monad-ST-Lazy.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="../base/GHC-Arr.html#t%3ASTArray"
>STArray</A
> s) e (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="../base/GHC-Arr.html#t%3ASTArray"
>STArray</A
> s) e (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Word.html#t%3AWord64"
>Word64</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Word.html#t%3AWord64"
>Word64</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Word.html#t%3AWord64"
>Word64</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Word.html#t%3AWord32"
>Word32</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Word.html#t%3AWord32"
>Word32</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Word.html#t%3AWord32"
>Word32</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Word.html#t%3AWord16"
>Word16</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Word.html#t%3AWord16"
>Word16</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Word.html#t%3AWord16"
>Word16</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Word.html#t%3AWord8"
>Word8</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Word.html#t%3AWord8"
>Word8</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Word.html#t%3AWord8"
>Word8</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Int.html#t%3AInt64"
>Int64</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Int.html#t%3AInt64"
>Int64</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Int.html#t%3AInt64"
>Int64</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Int.html#t%3AInt32"
>Int32</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Int.html#t%3AInt32"
>Int32</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Int.html#t%3AInt32"
>Int32</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Int.html#t%3AInt16"
>Int16</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Int.html#t%3AInt16"
>Int16</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Int.html#t%3AInt16"
>Int16</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Int.html#t%3AInt8"
>Int8</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Int.html#t%3AInt8"
>Int8</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Int.html#t%3AInt8"
>Int8</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../ghc-prim/GHC-Types.html#t%3ADouble"
>Double</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../ghc-prim/GHC-Types.html#t%3ADouble"
>Double</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../ghc-prim/GHC-Types.html#t%3ADouble"
>Double</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../ghc-prim/GHC-Types.html#t%3AFloat"
>Float</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../ghc-prim/GHC-Types.html#t%3AFloat"
>Float</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../ghc-prim/GHC-Types.html#t%3AFloat"
>Float</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Word.html#t%3AWord"
>Word</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Word.html#t%3AWord"
>Word</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../base/Data-Word.html#t%3AWord"
>Word</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../ghc-prim/GHC-Types.html#t%3AInt"
>Int</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../ghc-prim/GHC-Types.html#t%3AChar"
>Char</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) <A HREF="../ghc-prim/GHC-Bool.html#t%3ABool"
>Bool</A
> (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) (<A HREF="../base/Foreign-StablePtr.html#t%3AStablePtr"
>StablePtr</A
> a) (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) (<A HREF="../base/Foreign-StablePtr.html#t%3AStablePtr"
>StablePtr</A
> a) (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) (<A HREF="../base/Foreign-StablePtr.html#t%3AStablePtr"
>StablePtr</A
> a) (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) (<A HREF="../base/Foreign-Ptr.html#t%3AFunPtr"
>FunPtr</A
> a) (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) (<A HREF="../base/Foreign-Ptr.html#t%3AFunPtr"
>FunPtr</A
> a) (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) (<A HREF="../base/Foreign-Ptr.html#t%3AFunPtr"
>FunPtr</A
> a) (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) (<A HREF="../base/Foreign-Ptr.html#t%3APtr"
>Ptr</A
> a) (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) (<A HREF="../base/Foreign-Ptr.html#t%3APtr"
>Ptr</A
> a) (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
><TR
><TD CLASS="decl"
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> (<A HREF="Data-Array-ST.html#t%3ASTUArray"
>STUArray</A
> s) (<A HREF="../base/Foreign-Ptr.html#t%3APtr"
>Ptr</A
> a) (<A HREF="../base/Control-Monad-ST.html#t%3AST"
>ST</A
> s)</TD
></TR
></TABLE
></DIV
></TD
></TR
></TABLE
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="2"
><A NAME="2"
>The <TT
>Ix</TT
> class and operations
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
>module <A HREF="../base/Data-Ix.html"
>Data.Ix</A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="3"
><A NAME="3"
>Constructing mutable arrays
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:newListArray"
><A NAME="v%3AnewListArray"
></A
></A
><B
>newListArray</B
> :: (<A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e m, <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i) =&gt; (i, i) -&gt; [e] -&gt; m (a i e)</TD
></TR
><TR
><TD CLASS="doc"
>Constructs a mutable array from a list of initial elements.
 The list gives the elements of the array in ascending order
 beginning with the lowest index.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="4"
><A NAME="4"
>Reading and writing mutable arrays
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:readArray"
><A NAME="v%3AreadArray"
></A
></A
><B
>readArray</B
> :: (<A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e m, <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i) =&gt; a i e -&gt; i -&gt; m e</TD
></TR
><TR
><TD CLASS="doc"
>Read an element from a mutable array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:writeArray"
><A NAME="v%3AwriteArray"
></A
></A
><B
>writeArray</B
> :: (<A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e m, <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i) =&gt; a i e -&gt; i -&gt; e -&gt; m <A HREF="../ghc-prim/GHC-Unit.html#t%3A%28%29"
>()</A
></TD
></TR
><TR
><TD CLASS="doc"
>Write an element in a mutable array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="5"
><A NAME="5"
>Derived arrays
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mapArray"
><A NAME="v%3AmapArray"
></A
></A
><B
>mapArray</B
> :: (<A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e' m, <A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e m, <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i) =&gt; (e' -&gt; e) -&gt; a i e' -&gt; m (a i e)</TD
></TR
><TR
><TD CLASS="doc"
>Constructs a new array derived from the original array by applying a
 function to each of the elements.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:mapIndices"
><A NAME="v%3AmapIndices"
></A
></A
><B
>mapIndices</B
> :: (<A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e m, <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i, <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> j) =&gt; (i, i) -&gt; (i -&gt; j) -&gt; a j e -&gt; m (a i e)</TD
></TR
><TR
><TD CLASS="doc"
>Constructs a new array derived from the original array by applying a
 function to each of the indices.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="6"
><A NAME="6"
>Deconstructing mutable arrays
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getElems"
><A NAME="v%3AgetElems"
></A
></A
><B
>getElems</B
> :: (<A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e m, <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i) =&gt; a i e -&gt; m [e]</TD
></TR
><TR
><TD CLASS="doc"
>Return a list of all the elements of a mutable array
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:getAssocs"
><A NAME="v%3AgetAssocs"
></A
></A
><B
>getAssocs</B
> :: (<A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e m, <A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i) =&gt; a i e -&gt; m [(i, e)]</TD
></TR
><TR
><TD CLASS="doc"
>Return a list of all the associations of a mutable array, in
 index order.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="section1"
><A NAME="7"
><A NAME="7"
>Conversions between mutable and immutable arrays
</A
></A
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:freeze"
><A NAME="v%3Afreeze"
></A
></A
><B
>freeze</B
> :: (<A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i, <A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e m, <A HREF="Data-Array-IArray.html#t%3AIArray"
>IArray</A
> b e) =&gt; a i e -&gt; m (b i e)</TD
></TR
><TR
><TD CLASS="doc"
>Converts a mutable array (any instance of <TT
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
></TT
>) to an
 immutable array (any instance of <TT
><A HREF="Data-Array-IArray.html#t%3AIArray"
>IArray</A
></TT
>) by taking a complete
 copy of it.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unsafeFreeze"
><A NAME="v%3AunsafeFreeze"
></A
></A
><B
>unsafeFreeze</B
> :: (<A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i, <A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> a e m, <A HREF="Data-Array-IArray.html#t%3AIArray"
>IArray</A
> b e) =&gt; a i e -&gt; m (b i e)</TD
></TR
><TR
><TD CLASS="doc"
><P
>Converts an mutable array into an immutable array.  The 
   implementation may either simply cast the array from
   one type to the other without copying the array, or it
   may take a full copy of the array.
</P
><P
>Note that because the array is possibly not copied, any subsequent
   modifications made to the mutable version of the array may be
   shared with the immutable version.  It is safe to use, therefore, if
   the mutable version is never modified after the freeze operation.
</P
><P
>The non-copying implementation is supported between certain pairs
   of array types only; one constraint is that the array types must
   have identical representations.  In GHC, The following pairs of
   array types have a non-copying O(1) implementation of
   <TT
><A HREF="Data-Array-MArray.html#v%3AunsafeFreeze"
>unsafeFreeze</A
></TT
>.  Because the optimised versions are enabled by
   specialisations, you will need to compile with optimisation (-O) to
   get them.
</P
><UL
><LI
> Data.Array.IO.IOUArray -&gt; Data.Array.Unboxed.UArray
</LI
><LI
> Data.Array.ST.STUArray -&gt; Data.Array.Unboxed.UArray
</LI
><LI
> Data.Array.IO.IOArray -&gt; Data.Array.Array
</LI
><LI
> Data.Array.ST.STArray -&gt; Data.Array.Array
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:thaw"
><A NAME="v%3Athaw"
></A
></A
><B
>thaw</B
> :: (<A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i, <A HREF="Data-Array-IArray.html#t%3AIArray"
>IArray</A
> a e, <A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> b e m) =&gt; a i e -&gt; m (b i e)</TD
></TR
><TR
><TD CLASS="doc"
>Converts an immutable array (any instance of <TT
><A HREF="Data-Array-IArray.html#t%3AIArray"
>IArray</A
></TT
>) into a
 mutable array (any instance of <TT
><A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
></TT
>) by taking a complete copy
 of it.
</TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="decl"
><A NAME="v:unsafeThaw"
><A NAME="v%3AunsafeThaw"
></A
></A
><B
>unsafeThaw</B
> :: (<A HREF="../base/GHC-Arr.html#t%3AIx"
>Ix</A
> i, <A HREF="Data-Array-IArray.html#t%3AIArray"
>IArray</A
> a e, <A HREF="Data-Array-MArray.html#t%3AMArray"
>MArray</A
> b e m) =&gt; a i e -&gt; m (b i e)</TD
></TR
><TR
><TD CLASS="doc"
><P
>Converts an immutable array into a mutable array.  The 
   implementation may either simply cast the array from
   one type to the other without copying the array, or it
   may take a full copy of the array.  
</P
><P
>Note that because the array is possibly not copied, any subsequent
   modifications made to the mutable version of the array may be
   shared with the immutable version.  It is only safe to use,
   therefore, if the immutable array is never referenced again in this
   thread, and there is no possibility that it can be also referenced
   in another thread.  If you use an unsafeThaw<EM
>write</EM
>unsafeFreeze
   sequence in a multi-threaded setting, then you must ensure that
   this sequence is atomic with respect to other threads, or a garbage
   collector crash may result (because the write may be writing to a
   frozen array).
</P
><P
>The non-copying implementation is supported between certain pairs
   of array types only; one constraint is that the array types must
   have identical representations.  In GHC, The following pairs of
   array types have a non-copying O(1) implementation of
   <TT
><A HREF="Data-Array-MArray.html#v%3AunsafeThaw"
>unsafeThaw</A
></TT
>.  Because the optimised versions are enabled by
   specialisations, you will need to compile with optimisation (-O) to
   get them.
</P
><UL
><LI
> Data.Array.Unboxed.UArray -&gt; Data.Array.IO.IOUArray
</LI
><LI
> Data.Array.Unboxed.UArray -&gt; Data.Array.ST.STUArray
</LI
><LI
> Data.Array.Array  -&gt; Data.Array.IO.IOArray
</LI
><LI
> Data.Array.Array  -&gt; Data.Array.ST.STArray
</LI
></UL
></TD
></TR
><TR
><TD CLASS="s15"
></TD
></TR
><TR
><TD CLASS="botbar"
>Produced by <A HREF="http://www.haskell.org/haddock/"
>Haddock</A
> version 2.4.2</TD
></TR
></TABLE
></BODY
></HTML
>