The fixed-vector package

[Tags: bsd3, library]

Generic library for vectors with statically known size. Implementation is based on <http://unlines.wordpress.com/2010/11/15/generics-for-small-fixed-size-vectors/> 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 0.5.0.0

* 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 0.4.4.0

* Functor and Applicative instances are added to Id.

Changes in 0.4.3.0

* Typeable instance for S and Z added.

Changes in 0.4.2.0

* 1-tuple Only added.

* fromList' and fromListM added.

* apply functions from Arity type class generalized.

Changes in 0.4.1.0

* cons function added.

* Getter to Fun data type added.

Changes in 0.4.0.0

* 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 0.3.0.0

* Wrappers for monomorphic types added.

Changes in 0.3.0.0

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

* Indexing function restored.

* unfoldr added.

Changes in 0.2.0.0

* 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.


Properties

Versions0.1, 0.1.1, 0.1.2, 0.1.2.1, 0.2.0.0, 0.3.0.0, 0.3.0.1, 0.4.0.0, 0.4.1.0, 0.4.2.0, 0.4.3.0, 0.4.4.0, 0.5.0.0, 0.5.1.0, 0.5.1.2, 0.6.0.0, 0.6.1.0, 0.6.1.1, 0.6.2.0, 0.6.3.0, 0.6.3.1, 0.6.4.0
Dependenciesbase (>=3 && <5), primitive
LicenseBSD3
AuthorAleksey Khudyakov <alexey.skladnoy@gmail.com>
MaintainerAleksey Khudyakov <alexey.skladnoy@gmail.com>
CategoryData
Bug trackerhttps://github.com/Shimuuar/fixed-vector/issues
Source repositoryhead: hg clone http://bitbucket.org/Shimuuar/fixed-vector
head: git clone http://github.com/Shimuuar/fixed-vector
Upload dateTue Aug 6 15:59:24 UTC 2013
Uploaded byAlexeyKhudyakov
Downloads1496 total (160 in last 30 days)

Modules

[Index]

Downloads

Maintainers' corner

For package maintainers and hackage trustees