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 Enable bounds checking Enable internal consistency checks at the cost of a significant performance penalty Enable bounds checking in unsafe operations at the cost of a significant performance penalty