vector-0.9.1: 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
Storabletypes. - Data.Vector.Primitive
- Unboxed vectors of primitive types as
defined by the
primitivepackage. 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.1
- New functions:
unsafeFromForeignPtr0andunsafeToForeignPtr0 - Small performance improvements
- Fixes for GHC 7.4
Changes in version 0.9
-
MonadPlusinstance for boxed vectors - Export more
constructandconstructNfromSafemodules - 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,FoldableandTraversableinstances for boxed vectors (WARNING: they tend to be slow and are only provided for completeness) -
Showinstances for immutable vectors follow containers conventions -
Readinstances for all immutable vector types - Performance improvements