<!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>vector-0.9.1: Efficient Arrays</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();}; //]]> </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">vector-0.9.1: Efficient Arrays</p></div><div id="content"><div id="description"><h1>vector-0.9.1: Efficient Arrays</h1><div class="doc"><p>An efficient implementation of Int-indexed arrays (both mutable and immutable), with a powerful loop optimisation framework . </p><p>It is structured as follows: </p><dl><dt><a href="Data-Vector.html">Data.Vector</a></dt><dd> Boxed vectors of arbitrary types. </dd><dt><a href="Data-Vector-Unboxed.html">Data.Vector.Unboxed</a></dt><dd> Unboxed vectors with an adaptive representation based on data type families. </dd><dt><a href="Data-Vector-Storable.html">Data.Vector.Storable</a></dt><dd> Unboxed vectors of <code>Storable</code> types. </dd><dt><a href="Data-Vector-Primitive.html">Data.Vector.Primitive</a></dt><dd> Unboxed vectors of primitive types as defined by the <code>primitive</code> package. <a href="Data-Vector-Unboxed.html">Data.Vector.Unboxed</a> is more flexible at no performance cost. </dd><dt><a href="Data-Vector-Generic.html">Data.Vector.Generic</a></dt><dd> Generic interface to the vector types. </dd></dl><p>Each module has a <code>Safe</code> version with is marked as <code>Trustworthy</code> (see <a href="http://hackage.haskell.org/trac/ghc/wiki/SafeHaskell">http://hackage.haskell.org/trac/ghc/wiki/SafeHaskell</a>). </p><p>There is also a (draft) tutorial on common uses of vector. </p><ul><li> <a href="http://haskell.org/haskellwiki/Numeric_Haskell:_A_Vector_Tutorial">http://haskell.org/haskellwiki/Numeric_Haskell:_A_Vector_Tutorial</a> </li></ul><p>Please use the project trac to submit bug reports and feature requests. </p><ul><li> <a href="http://trac.haskell.org/vector">http://trac.haskell.org/vector</a> </li></ul><p>Changes in version 0.9.1 </p><ul><li> New functions: <code>unsafeFromForeignPtr0</code> and <code>unsafeToForeignPtr0</code> </li><li> Small performance improvements </li><li> Fixes for GHC 7.4 </li></ul><p>Changes in version 0.9 </p><ul><li> <code>MonadPlus</code> instance for boxed vectors </li><li> Export more <code>construct</code> and <code>constructN</code> from <code>Safe</code> modules </li><li> Require <code>primitive-0.4.0.1</code> </li></ul><p>Changes in version 0.8 </p><ul><li> New functions: <code>constructN</code>, <code>constructrN</code> </li><li> Support for GHC 7.2 array copying primitives </li><li> New fixity for <code>(!)</code> </li><li> Safe Haskell support (contributed by David Terei) </li><li> <code>Functor</code>, <code>Monad</code>, <code>Applicative</code>, <code>Alternative</code>, <code>Foldable</code> and <code>Traversable</code> instances for boxed vectors (<em>WARNING: they tend to be slow and are only provided for completeness</em>) </li><li> <code>Show</code> instances for immutable vectors follow containers conventions </li><li> <code>Read</code> instances for all immutable vector types </li><li> Performance improvements </li></ul></div></div><div id="module-list"><p class="caption">Modules</p><ul><li><span id="control.n.1" class="module collapser" onclick="toggleSection('n.1')">Data</span><ul id="section.n.1" class="show"><li><span class="module"><span id="control.n.1.1" class="collapser" onclick="toggleSection('n.1.1')"> </span><a href="Data-Vector.html">Data.Vector</a></span><ul id="section.n.1.1" class="show"><li><span id="control.n.1.1.1" class="module collapser" onclick="toggleSection('n.1.1.1')">Fusion</span><ul id="section.n.1.1.1" class="show"><li><span class="module"><span id="control.n.1.1.1.1" class="collapser" onclick="toggleSection('n.1.1.1.1')"> </span><a href="Data-Vector-Fusion-Stream.html">Data.Vector.Fusion.Stream</a></span><ul id="section.n.1.1.1.1" class="show"><li><span class="module"><span id="control.n.1.1.1.1.1" class="collapser" onclick="toggleSection('n.1.1.1.1.1')"> </span><a href="Data-Vector-Fusion-Stream-Monadic.html">Data.Vector.Fusion.Stream.Monadic</a></span><ul id="section.n.1.1.1.1.1" class="show"><li><span class="module"><a href="Data-Vector-Fusion-Stream-Monadic-Safe.html">Data.Vector.Fusion.Stream.Monadic.Safe</a></span></li></ul></li><li><span class="module"><a href="Data-Vector-Fusion-Stream-Safe.html">Data.Vector.Fusion.Stream.Safe</a></span></li><li><span class="module"><a href="Data-Vector-Fusion-Stream-Size.html">Data.Vector.Fusion.Stream.Size</a></span></li></ul></li><li><span class="module"><a href="Data-Vector-Fusion-Util.html">Data.Vector.Fusion.Util</a></span></li></ul></li><li><span class="module"><span id="control.n.1.1.2" class="collapser" onclick="toggleSection('n.1.1.2')"> </span><a href="Data-Vector-Generic.html">Data.Vector.Generic</a></span><ul id="section.n.1.1.2" class="show"><li><span class="module"><span id="control.n.1.1.2.1" class="collapser" onclick="toggleSection('n.1.1.2.1')"> </span><a href="Data-Vector-Generic-Mutable.html">Data.Vector.Generic.Mutable</a></span><ul id="section.n.1.1.2.1" class="show"><li><span class="module"><a href="Data-Vector-Generic-Mutable-Safe.html">Data.Vector.Generic.Mutable.Safe</a></span></li></ul></li><li><span class="module"><span id="control.n.1.1.2.2" class="collapser" onclick="toggleSection('n.1.1.2.2')"> </span><a href="Data-Vector-Generic-New.html">Data.Vector.Generic.New</a></span><ul id="section.n.1.1.2.2" class="show"><li><span class="module"><a href="Data-Vector-Generic-New-Safe.html">Data.Vector.Generic.New.Safe</a></span></li></ul></li><li><span class="module"><a href="Data-Vector-Generic-Safe.html">Data.Vector.Generic.Safe</a></span></li></ul></li><li><span id="control.n.1.1.3" class="module collapser" onclick="toggleSection('n.1.1.3')">Internal</span><ul id="section.n.1.1.3" class="show"><li><span class="module"><a href="Data-Vector-Internal-Check.html">Data.Vector.Internal.Check</a></span></li></ul></li><li><span class="module"><span id="control.n.1.1.4" class="collapser" onclick="toggleSection('n.1.1.4')"> </span><a href="Data-Vector-Mutable.html">Data.Vector.Mutable</a></span><ul id="section.n.1.1.4" class="show"><li><span class="module"><a href="Data-Vector-Mutable-Safe.html">Data.Vector.Mutable.Safe</a></span></li></ul></li><li><span class="module"><span id="control.n.1.1.5" class="collapser" onclick="toggleSection('n.1.1.5')"> </span><a href="Data-Vector-Primitive.html">Data.Vector.Primitive</a></span><ul id="section.n.1.1.5" class="show"><li><span class="module"><span id="control.n.1.1.5.1" class="collapser" onclick="toggleSection('n.1.1.5.1')"> </span><a href="Data-Vector-Primitive-Mutable.html">Data.Vector.Primitive.Mutable</a></span><ul id="section.n.1.1.5.1" class="show"><li><span class="module"><a href="Data-Vector-Primitive-Mutable-Safe.html">Data.Vector.Primitive.Mutable.Safe</a></span></li></ul></li><li><span class="module"><a href="Data-Vector-Primitive-Safe.html">Data.Vector.Primitive.Safe</a></span></li></ul></li><li><span class="module"><a href="Data-Vector-Safe.html">Data.Vector.Safe</a></span></li><li><span class="module"><span id="control.n.1.1.7" class="collapser" onclick="toggleSection('n.1.1.7')"> </span><a href="Data-Vector-Storable.html">Data.Vector.Storable</a></span><ul id="section.n.1.1.7" class="show"><li><span class="module"><a href="Data-Vector-Storable-Internal.html">Data.Vector.Storable.Internal</a></span></li><li><span class="module"><a href="Data-Vector-Storable-Mutable.html">Data.Vector.Storable.Mutable</a></span></li></ul></li><li><span class="module"><span id="control.n.1.1.8" class="collapser" onclick="toggleSection('n.1.1.8')"> </span><a href="Data-Vector-Unboxed.html">Data.Vector.Unboxed</a></span><ul id="section.n.1.1.8" class="show"><li><span class="module"><span id="control.n.1.1.8.1" class="collapser" onclick="toggleSection('n.1.1.8.1')"> </span><a href="Data-Vector-Unboxed-Mutable.html">Data.Vector.Unboxed.Mutable</a></span><ul id="section.n.1.1.8.1" class="show"><li><span class="module"><a href="Data-Vector-Unboxed-Mutable-Safe.html">Data.Vector.Unboxed.Mutable.Safe</a></span></li></ul></li><li><span class="module"><a href="Data-Vector-Unboxed-Safe.html">Data.Vector.Unboxed.Safe</a></span></li></ul></li></ul></li></ul></li></ul></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.10.0</p></div></body></html>