Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-release > by-pkgid > 6e204a966e8c42d976f99a1700ce5f20 > files > 2177

ghc-7.4.2-4.mga5.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Data.Array.MArray.Safe</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Data-Array-MArray-Safe.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">array-0.4.0.0: Mutable and immutable arrays</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>non-portable (uses Data.Array.Base)</td></tr><tr><th>Stability</th><td>experimental</td></tr><tr><th>Maintainer</th><td>libraries@haskell.org</td></tr><tr><th>Safe Haskell</th><td>Trustworthy</td></tr></table><p class="caption">Data.Array.MArray.Safe</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Class of mutable array types
</a></li><li><a href="#g:2">The <code>Ix</code> class and operations
</a></li><li><a href="#g:3">Constructing mutable arrays
</a></li><li><a href="#g:4">Reading and writing mutable arrays
</a></li><li><a href="#g:5">Derived arrays
</a></li><li><a href="#g:6">Deconstructing mutable arrays
</a></li><li><a href="#g:7">Conversions between mutable and immutable arrays
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>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>.
 .
 Safe API only of <a href="Data-Array-MArray.html">Data.Array.MArray</a>.
</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">class</span> <a href="../base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a href="#t:MArray">MArray</a> a e m  <span class="keyword">where</span><ul class="subs"><li><a href="#v:getBounds">getBounds</a> :: <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i =&gt; a i e -&gt; m (i, i)</li><li><a href="#v:newArray">newArray</a> :: <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i =&gt; (i, i) -&gt; e -&gt; m (a i e)</li><li><a href="#v:newArray_">newArray_</a> :: <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i =&gt; (i, i) -&gt; m (a i e)</li></ul></li><li class="src short">module <a href="../base-4.5.1.0/Data-Ix.html">Data.Ix</a></li><li class="src short"><a href="#v:newListArray">newListArray</a> :: (<a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> a e m, <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i) =&gt; (i, i) -&gt; [e] -&gt; m (a i e)</li><li class="src short"><a href="#v:readArray">readArray</a> :: (<a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> a e m, <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i) =&gt; a i e -&gt; i -&gt; m e</li><li class="src short"><a href="#v:writeArray">writeArray</a> :: (<a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> a e m, <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i) =&gt; a i e -&gt; i -&gt; e -&gt; m ()</li><li class="src short"><a href="#v:mapArray">mapArray</a> :: (<a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> a e' m, <a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> a e m, <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i) =&gt; (e' -&gt; e) -&gt; a i e' -&gt; m (a i e)</li><li class="src short"><a href="#v:mapIndices">mapIndices</a> :: (<a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> a e m, <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i, <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> j) =&gt; (i, i) -&gt; (i -&gt; j) -&gt; a j e -&gt; m (a i e)</li><li class="src short"><a href="#v:getElems">getElems</a> :: (<a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> a e m, <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i) =&gt; a i e -&gt; m [e]</li><li class="src short"><a href="#v:getAssocs">getAssocs</a> :: (<a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> a e m, <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i) =&gt; a i e -&gt; m [(i, e)]</li><li class="src short"><a href="#v:freeze">freeze</a> :: (<a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i, <a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> a e m, <a href="Data-Array-IArray.html#t:IArray">IArray</a> b e) =&gt; a i e -&gt; m (b i e)</li><li class="src short"><a href="#v:thaw">thaw</a> :: (<a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i, <a href="Data-Array-IArray.html#t:IArray">IArray</a> a e, <a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> b e m) =&gt; a i e -&gt; m (b i e)</li></ul></div><div id="interface"><h1 id="g:1">Class of mutable array types
</h1><div class="top"><p class="src"><span class="keyword">class</span> <a href="../base-4.5.1.0/Control-Monad.html#t:Monad">Monad</a> m =&gt; <a name="t:MArray" class="def">MArray</a> a e m  <span class="keyword">where</span></p><div class="doc"><p>Class of mutable array types.
</p><p>An array type has the form <code>(a i e)</code> where <code>a</code> is the array type
constructor (kind <code>* -&gt; * -&gt; *</code>), <code>i</code> is the index type (a member of
the class <code><a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a></code>), and <code>e</code> is the element type.
</p><p>The <code>MArray</code> class is parameterised over both <code>a</code> and <code>e</code> (so that
instances specialised to certain element types can be defined, in the
same way as for <code><a href="Data-Array-IArray.html#t:IArray">IArray</a></code>), and also over the type of the monad, <code>m</code>,
in which the mutable array will be manipulated.
</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:getBounds" class="def">getBounds</a> :: <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i =&gt; a i e -&gt; m (i, i)</p><div class="doc"><p>Returns the bounds of the array
</p></div><p class="src"><a name="v:newArray" class="def">newArray</a> :: <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i =&gt; (i, i) -&gt; e -&gt; m (a i e)</p><div class="doc"><p>Builds a new array, with every element initialised to the supplied
 value.
</p></div><p class="src"><a name="v:newArray_" class="def">newArray_</a> :: <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i =&gt; (i, i) -&gt; m (a i e)</p><div class="doc"><p>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.
</p></div></div><div class="subs instances"><p id="control.i:MArray" class="caption collapser" onclick="toggleSection('i:MArray')">Instances</p><div id="section.i:MArray" class="show"><table><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> <a href="Data-Array-IO.html#t:IOArray">IOArray</a> e <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> <a href="Data-Array-IO.html#t:IOUArray">IOUArray</a> <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> <a href="Data-Array-IO.html#t:IOUArray">IOUArray</a> <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a> <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> <a href="Data-Array-IO.html#t:IOUArray">IOUArray</a> <a href="../base-4.5.1.0/Prelude.html#t:Double">Double</a> <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> <a href="Data-Array-IO.html#t:IOUArray">IOUArray</a> <a href="../base-4.5.1.0/Prelude.html#t:Float">Float</a> <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> <a href="Data-Array-IO.html#t:IOUArray">IOUArray</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> <a href="Data-Array-IO.html#t:IOUArray">IOUArray</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int8">Int8</a> <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> <a href="Data-Array-IO.html#t:IOUArray">IOUArray</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int16">Int16</a> <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> <a href="Data-Array-IO.html#t:IOUArray">IOUArray</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int32">Int32</a> <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> <a href="Data-Array-IO.html#t:IOUArray">IOUArray</a> <a href="../base-4.5.1.0/Data-Int.html#t:Int64">Int64</a> <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> <a href="Data-Array-IO.html#t:IOUArray">IOUArray</a> <a href="../base-4.5.1.0/Data-Word.html#t:Word">Word</a> <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> <a href="Data-Array-IO.html#t:IOUArray">IOUArray</a> <a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a> <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> <a href="Data-Array-IO.html#t:IOUArray">IOUArray</a> <a href="../base-4.5.1.0/Data-Word.html#t:Word16">Word16</a> <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> <a href="Data-Array-IO.html#t:IOUArray">IOUArray</a> <a href="../base-4.5.1.0/Data-Word.html#t:Word32">Word32</a> <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> <a href="Data-Array-IO.html#t:IOUArray">IOUArray</a> <a href="../base-4.5.1.0/Data-Word.html#t:Word64">Word64</a> <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="../base-4.5.1.0/Foreign-Storable.html#t:Storable">Storable</a> e =&gt; <a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> <a href="Data-Array-Storable.html#t:StorableArray">StorableArray</a> e <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> <a href="Data-Array-IO.html#t:IOUArray">IOUArray</a> (<a href="../base-4.5.1.0/Foreign-StablePtr.html#t:StablePtr">StablePtr</a> a) <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> <a href="Data-Array-IO.html#t:IOUArray">IOUArray</a> (<a href="../base-4.5.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> a) <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> <a href="Data-Array-IO.html#t:IOUArray">IOUArray</a> (<a href="../base-4.5.1.0/Foreign-Ptr.html#t:FunPtr">FunPtr</a> a) <a href="../base-4.5.1.0/System-IO.html#t:IO">IO</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> (<a href="Data-Array-ST.html#t:STArray">STArray</a> s) e (<a href="../base-4.5.1.0/Control-Monad-ST-Lazy-Safe.html#t:ST">ST</a> s)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> (<a href="Data-Array-ST.html#t:STArray">STArray</a> s) e (<a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> (<a href="Data-Array-ST.html#t:STUArray">STUArray</a> s) <a href="../base-4.5.1.0/Data-Word.html#t:Word64">Word64</a> (<a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> (<a href="Data-Array-ST.html#t:STUArray">STUArray</a> s) <a href="../base-4.5.1.0/Data-Word.html#t:Word32">Word32</a> (<a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> (<a href="Data-Array-ST.html#t:STUArray">STUArray</a> s) <a href="../base-4.5.1.0/Data-Word.html#t:Word16">Word16</a> (<a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> (<a href="Data-Array-ST.html#t:STUArray">STUArray</a> s) <a href="../base-4.5.1.0/Data-Word.html#t:Word8">Word8</a> (<a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> (<a href="Data-Array-ST.html#t:STUArray">STUArray</a> s) <a href="../base-4.5.1.0/Data-Int.html#t:Int64">Int64</a> (<a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> (<a href="Data-Array-ST.html#t:STUArray">STUArray</a> s) <a href="../base-4.5.1.0/Data-Int.html#t:Int32">Int32</a> (<a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> (<a href="Data-Array-ST.html#t:STUArray">STUArray</a> s) <a href="../base-4.5.1.0/Data-Int.html#t:Int16">Int16</a> (<a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> (<a href="Data-Array-ST.html#t:STUArray">STUArray</a> s) <a href="../base-4.5.1.0/Data-Int.html#t:Int8">Int8</a> (<a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> (<a href="Data-Array-ST.html#t:STUArray">STUArray</a> s) <a href="../base-4.5.1.0/Prelude.html#t:Double">Double</a> (<a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> (<a href="Data-Array-ST.html#t:STUArray">STUArray</a> s) <a href="../base-4.5.1.0/Prelude.html#t:Float">Float</a> (<a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> (<a href="Data-Array-ST.html#t:STUArray">STUArray</a> s) <a href="../base-4.5.1.0/Data-Word.html#t:Word">Word</a> (<a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> (<a href="Data-Array-ST.html#t:STUArray">STUArray</a> s) <a href="../base-4.5.1.0/Data-Int.html#t:Int">Int</a> (<a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> (<a href="Data-Array-ST.html#t:STUArray">STUArray</a> s) <a href="../base-4.5.1.0/Data-Char.html#t:Char">Char</a> (<a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> (<a href="Data-Array-ST.html#t:STUArray">STUArray</a> s) <a href="../base-4.5.1.0/Data-Bool.html#t:Bool">Bool</a> (<a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> (<a href="Data-Array-ST.html#t:STUArray">STUArray</a> s) (<a href="../base-4.5.1.0/Foreign-StablePtr.html#t:StablePtr">StablePtr</a> a) (<a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> (<a href="Data-Array-ST.html#t:STUArray">STUArray</a> s) (<a href="../base-4.5.1.0/Foreign-Ptr.html#t:FunPtr">FunPtr</a> a) (<a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> (<a href="Data-Array-ST.html#t:STUArray">STUArray</a> s) (<a href="../base-4.5.1.0/Foreign-Ptr.html#t:Ptr">Ptr</a> a) (<a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h1 id="g:2">The <code>Ix</code> class and operations
</h1><div class="top"><p class="src">module <a href="../base-4.5.1.0/Data-Ix.html">Data.Ix</a></p></div><h1 id="g:3">Constructing mutable arrays
</h1><div class="top"><p class="src"><a name="v:newListArray" class="def">newListArray</a> :: (<a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> a e m, <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i) =&gt; (i, i) -&gt; [e] -&gt; m (a i e)</p><div class="doc"><p>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.
</p></div></div><h1 id="g:4">Reading and writing mutable arrays
</h1><div class="top"><p class="src"><a name="v:readArray" class="def">readArray</a> :: (<a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> a e m, <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i) =&gt; a i e -&gt; i -&gt; m e</p><div class="doc"><p>Read an element from a mutable array
</p></div></div><div class="top"><p class="src"><a name="v:writeArray" class="def">writeArray</a> :: (<a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> a e m, <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i) =&gt; a i e -&gt; i -&gt; e -&gt; m ()</p><div class="doc"><p>Write an element in a mutable array
</p></div></div><h1 id="g:5">Derived arrays
</h1><div class="top"><p class="src"><a name="v:mapArray" class="def">mapArray</a> :: (<a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> a e' m, <a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> a e m, <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i) =&gt; (e' -&gt; e) -&gt; a i e' -&gt; m (a i e)</p><div class="doc"><p>Constructs a new array derived from the original array by applying a
 function to each of the elements.
</p></div></div><div class="top"><p class="src"><a name="v:mapIndices" class="def">mapIndices</a> :: (<a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> a e m, <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i, <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> j) =&gt; (i, i) -&gt; (i -&gt; j) -&gt; a j e -&gt; m (a i e)</p><div class="doc"><p>Constructs a new array derived from the original array by applying a
 function to each of the indices.
</p></div></div><h1 id="g:6">Deconstructing mutable arrays
</h1><div class="top"><p class="src"><a name="v:getElems" class="def">getElems</a> :: (<a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> a e m, <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i) =&gt; a i e -&gt; m [e]</p><div class="doc"><p>Return a list of all the elements of a mutable array
</p></div></div><div class="top"><p class="src"><a name="v:getAssocs" class="def">getAssocs</a> :: (<a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> a e m, <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i) =&gt; a i e -&gt; m [(i, e)]</p><div class="doc"><p>Return a list of all the associations of a mutable array, in
 index order.
</p></div></div><h1 id="g:7">Conversions between mutable and immutable arrays
</h1><div class="top"><p class="src"><a name="v:freeze" class="def">freeze</a> :: (<a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i, <a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> a e m, <a href="Data-Array-IArray.html#t:IArray">IArray</a> b e) =&gt; a i e -&gt; m (b i e)</p><div class="doc"><p>Converts a mutable array (any instance of <code><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a></code>) to an
 immutable array (any instance of <code><a href="Data-Array-IArray.html#t:IArray">IArray</a></code>) by taking a complete
 copy of it.
</p></div></div><div class="top"><p class="src"><a name="v:thaw" class="def">thaw</a> :: (<a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i, <a href="Data-Array-IArray.html#t:IArray">IArray</a> a e, <a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a> b e m) =&gt; a i e -&gt; m (b i e)</p><div class="doc"><p>Converts an immutable array (any instance of <code><a href="Data-Array-IArray.html#t:IArray">IArray</a></code>) into a
 mutable array (any instance of <code><a href="Data-Array-MArray-Safe.html#t:MArray">MArray</a></code>) by taking a complete copy
 of it.
</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.11.0</p></div></body></html>