haskell
An efficient implementation of Int-indexed arrays (both mutable
and immutable), with a powerful loop optimisation framework .
It is structured as follows:
["Data.Vector"] Boxed vectors of arbitrary types.
["Data.Vector.Unboxed"] Unboxed vectors with an adaptive
representation based on data type families.
["Data.Vector.Storable"] Unboxed vectors of 'Storable' types.
["Data.Vector.Primitive"] Unboxed vectors of primitive types as
defined by the @primitive@ package. "Data.Vector.Unboxed" is more
flexible at no performance cost.
["Data.Vector.Generic"] Generic interface to the vector types.
Each module has a @Safe@ version with is marked as @Trustworthy@
(see <http://hackage.haskell.org/trac/ghc/wiki/SafeHaskell>).
There is also a (draft) tutorial on common uses of vector.
* <http://haskell.org/haskellwiki/Numeric_Haskell:_A_Vector_Tutorial>
Please use the project trac to submit bug reports and feature
requests.
* <http://trac.haskell.org/vector>
Changes in version 0.9
* 'MonadPlus' instance for boxed vectors
* Export more @construct@ and @constructN@ from @Safe@ modules
* Require @primitive-0.4.0.1@
Changes in version 0.8
* New functions: @constructN@, @constructrN@
* Support for GHC 7.2 array copying primitives
* New fixity for @(!)@
* Safe Haskell support (contributed by David Terei)
* 'Functor', 'Monad', 'Applicative', 'Alternative', 'Foldable' and
'Traversable' instances for boxed vectors
(/WARNING: they tend to be slow and are only provided for completeness/)
* 'Show' instances for immutable vectors follow containers conventions
* 'Read' instances for all immutable vector types
* Performance improvements