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
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.1
- New functions:
unsafeFromForeignPtr0
andunsafeToForeignPtr0
- Small performance improvements
- Fixes for GHC 7.4
Changes in version 0.9
-
MonadPlus
instance for boxed vectors - Export more
construct
andconstructN
fromSafe
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
andTraversable
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