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

* ContVec now behaves like normal vector. Arity type class is reworked. Id is removed.

* Construction of vector reworked.

* reverse, snoc, consV, fold and foldMap are added.

* Type changing maps and zips are added.

* Vector indexing with type level numbers is added.

* Twan van Laarhoven's lens added. (element and elementTy)

* Ord instances added to vector data types defined in the library.

Changes in

* Functor and Applicative instances are added to Id.

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 Tue Aug 6 15:59:24 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