The fixed-vector package

[Tags:bsd3, library, test]

Generic library for vectors with statically known size. Implementation is based on <> Same functions could be used to work with both ADT based vector like

> data Vec3 a = a a a

Tuples are vectors too:

>>> sum (1,2,3) 6

Vectors which are represented internally by arrays are provided by library. Both boxed and unboxed arrays are supported.

Library is structured as follows:

[@Data.Vector.Fixed@] Generic API. It's suitable for both ADT-based vector like @Complex@ and array-based ones.

[@Data.Vector.Fixed.Cont@] Continuation based vectors. Internally all functions use them.

[@Data.Vector.Fixed.Mutable@] Type classes for array-based implementation and API for working with mutable state.

[@Data.Vector.Fixed.Unboxed@] Unboxed vectors.

[@Data.Vector.Fixed.Boxed@] Boxed vector which can hold elements of any type.

[@Data.Vector.Fixed.Storable@] Unboxed vectors of @Storable@ types.

[@Data.Vector.Fixed.Primitive@] Unboxed vectors based on pritimive package.

[@Data.Vector.Fixed.Monomorphic@] Wrappers for monomorphic vectors

Changes in

* Typeable instance for @S@ and @Z@ added.

Changes in

* 1-tuple @Only@ added.

* @fromList'@ and @fromListM@ added.

* @apply@ functions from @Arity@ type class generalized.

Changes in

* @cons@ function added.

* Getter to @Fun@ data type added.

Changes in

* Wrapper for monomorphics vectors is added.

* @VecList@ is reimplemented as GADT and constructors are exported.

* Constructor of ContVecT is exported

* Empty @ContVecT@ is implemented as @empty@.

* @Typeable@, @Foldable@ and @Traversable@ instances are added where appropriate

Changes in

* Wrappers for monomorphic types added.

Changes in

* @Vector@ type class definition is moved to the @D.V.F.Cont@ module.

* Indexing function restored.

* @unfoldr@ added.

Changes in

* Continuation-based vector added.

* Right fold added.

* @tailWith@, @convertContinuation@, and @!@ from @Data.Vector.Fixed@ removed.

* @Vector@ instance for tuples added.

Changes in 0.1.2

* @imap@, @imapM@, @ifoldl@, @ifoldM@, @zipWithM@, @izipWithM@ functions are added.

* @VectorN@ type class added.

Changes in 0.1.1

* @foldM@ and @tailWith@ added. Type synonyms for numbers up to 6 are added. @Fun@ is reexported from @Data.Vector.Fixed@.


Versions 0.1, 0.1.1, 0.1.2,,,,,,,,,,,,,,,,,,,,,,,,,,
Dependencies base (>=3 && <5), primitive [details]
License BSD3
Author Aleksey Khudyakov <>
Maintainer Aleksey Khudyakov <>
Category Data
Bug tracker
Source repository head: hg clone
head: git clone
Uploaded Sat May 18 11:02:22 UTC 2013 by AlexeyKhudyakov
Distributions LTSHaskell:, NixOS:, Stackage:, Tumbleweed:
Downloads 6606 total (68 in the last 30 days)
0 []
Status Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI




Maintainer's Corner

For package maintainers and hackage trustees