Sophie

Sophie

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

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.ST.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-ST-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.MArray)</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.ST.Safe</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Boxed arrays
</a></li><li><a href="#g:2">Unboxed arrays
</a></li><li><a href="#g:3">Overloaded mutable array interface
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Mutable boxed and unboxed arrays in the <code><a href="../base-4.5.1.0/Control-Monad-ST.html#t:ST">ST</a></code> monad.
</p><p>Safe API only of <a href="Data-Array-ST.html">Data.Array.ST</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">data</span>  <a href="#t:STArray">STArray</a> s i e</li><li class="src short"><a href="#v:runSTArray">runSTArray</a> :: <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i =&gt; (<span class="keyword">forall</span> s.  <a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s (<a href="Data-Array-ST-Safe.html#t:STArray">STArray</a> s i e)) -&gt; <a href="Data-Array.html#t:Array">Array</a> i e</li><li class="src short"><span class="keyword">data</span>  <a href="#t:STUArray">STUArray</a> s i e</li><li class="src short"><a href="#v:runSTUArray">runSTUArray</a> :: <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i =&gt; (<span class="keyword">forall</span> s.  <a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s (<a href="Data-Array-ST-Safe.html#t:STUArray">STUArray</a> s i e)) -&gt; <a href="Data-Array-Unboxed.html#t:UArray">UArray</a> i e</li><li class="src short">module <a href="Data-Array-MArray-Safe.html">Data.Array.MArray.Safe</a></li></ul></div><div id="interface"><h1 id="g:1">Boxed arrays
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:STArray" class="def">STArray</a> s i e <a href="../base-4.5.1.0/src/GHC-Arr.html#STArray" class="link">Source</a></p><div class="doc"><p>Mutable, boxed, non-strict arrays in the <code><a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a></code> monad.  The type
 arguments are as follows:
</p><ul><li> <code>s</code>: the state variable argument for the <code><a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a></code> type
</li><li> <code>i</code>: the index type of the array (should be an instance of <code><a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a></code>)
</li><li> <code>e</code>: the element type of the array.
</li></ul></div><div class="subs instances"><p id="control.i:STArray" class="caption collapser" onclick="toggleSection('i:STArray')">Instances</p><div id="section.i:STArray" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable3">Typeable3</a> <a href="Data-Array-ST-Safe.html#t:STArray">STArray</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray.html#t:MArray">MArray</a> (<a href="Data-Array-ST-Safe.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.html#t:MArray">MArray</a> (<a href="Data-Array-ST-Safe.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="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Data-Array-ST-Safe.html#t:STArray">STArray</a> s i e)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:runSTArray" class="def">runSTArray</a> :: <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i =&gt; (<span class="keyword">forall</span> s.  <a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s (<a href="Data-Array-ST-Safe.html#t:STArray">STArray</a> s i e)) -&gt; <a href="Data-Array.html#t:Array">Array</a> i e</p><div class="doc"><p>A safe way to create and work with a mutable array before returning an
 immutable array for later perusal.  This function avoids copying
 the array before returning it - it uses <code><a href="Data-Array-MArray.html#v:unsafeFreeze">unsafeFreeze</a></code> internally, but
 this wrapper is a safe interface to that function.
</p></div></div><h1 id="g:2">Unboxed arrays
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:STUArray" class="def">STUArray</a> s i e </p><div class="doc"><p>A mutable array with unboxed elements, that can be manipulated in
 the <code><a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a></code> monad.  The type arguments are as follows:
</p><ul><li> <code>s</code>: the state variable argument for the <code><a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a></code> type
</li><li> <code>i</code>: the index type of the array (should be an instance of <code>Ix</code>)
</li><li> <code>e</code>: the element type of the array.  Only certain element types
    are supported.
</li></ul><p>An <code><a href="Data-Array-ST-Safe.html#t:STUArray">STUArray</a></code> will generally be more efficient (in terms of both time
 and space) than the equivalent boxed version (<code><a href="Data-Array-ST-Safe.html#t:STArray">STArray</a></code>) with the same
 element type.  However, <code><a href="Data-Array-ST-Safe.html#t:STUArray">STUArray</a></code> is strict in its elements - so
 don't use <code><a href="Data-Array-ST-Safe.html#t:STUArray">STUArray</a></code> if you require the non-strictness that
 <code><a href="Data-Array-ST-Safe.html#t:STArray">STArray</a></code> provides.
</p></div><div class="subs instances"><p id="control.i:STUArray" class="caption collapser" onclick="toggleSection('i:STUArray')">Instances</p><div id="section.i:STUArray" class="show"><table><tr><td class="src"><a href="../base-4.5.1.0/Data-Typeable-Internal.html#t:Typeable3">Typeable3</a> <a href="Data-Array-ST-Safe.html#t:STUArray">STUArray</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Array-MArray.html#t:MArray">MArray</a> (<a href="Data-Array-ST-Safe.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.html#t:MArray">MArray</a> (<a href="Data-Array-ST-Safe.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.html#t:MArray">MArray</a> (<a href="Data-Array-ST-Safe.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.html#t:MArray">MArray</a> (<a href="Data-Array-ST-Safe.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.html#t:MArray">MArray</a> (<a href="Data-Array-ST-Safe.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.html#t:MArray">MArray</a> (<a href="Data-Array-ST-Safe.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.html#t:MArray">MArray</a> (<a href="Data-Array-ST-Safe.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.html#t:MArray">MArray</a> (<a href="Data-Array-ST-Safe.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.html#t:MArray">MArray</a> (<a href="Data-Array-ST-Safe.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.html#t:MArray">MArray</a> (<a href="Data-Array-ST-Safe.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.html#t:MArray">MArray</a> (<a href="Data-Array-ST-Safe.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.html#t:MArray">MArray</a> (<a href="Data-Array-ST-Safe.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.html#t:MArray">MArray</a> (<a href="Data-Array-ST-Safe.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.html#t:MArray">MArray</a> (<a href="Data-Array-ST-Safe.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.html#t:MArray">MArray</a> (<a href="Data-Array-ST-Safe.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.html#t:MArray">MArray</a> (<a href="Data-Array-ST-Safe.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.html#t:MArray">MArray</a> (<a href="Data-Array-ST-Safe.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><tr><td class="src"><a href="../base-4.5.1.0/Data-Eq.html#t:Eq">Eq</a> (<a href="Data-Array-ST-Safe.html#t:STUArray">STUArray</a> s i e)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><div class="top"><p class="src"><a name="v:runSTUArray" class="def">runSTUArray</a> :: <a href="../base-4.5.1.0/Data-Ix.html#t:Ix">Ix</a> i =&gt; (<span class="keyword">forall</span> s.  <a href="../base-4.5.1.0/Control-Monad-ST-Safe.html#t:ST">ST</a> s (<a href="Data-Array-ST-Safe.html#t:STUArray">STUArray</a> s i e)) -&gt; <a href="Data-Array-Unboxed.html#t:UArray">UArray</a> i e</p><div class="doc"><p>A safe way to create and work with an unboxed mutable array before
 returning an immutable array for later perusal.  This function
 avoids copying the array before returning it - it uses
 <code><a href="Data-Array-MArray.html#v:unsafeFreeze">unsafeFreeze</a></code> internally, but this wrapper is a safe interface to
 that function.
</p></div></div><h1 id="g:3">Overloaded mutable array interface
</h1><div class="top"><p class="src">module <a href="Data-Array-MArray-Safe.html">Data.Array.MArray.Safe</a></p></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>