@haskell vector0.9

Efficient Arrays

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.

Please use the project trac to submit bug reports and feature requests.

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