# The fixed-vector package

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

Versions | 0.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, 0.7.0.0, 0.7.0.1, 0.7.0.2, 0.7.0.3, 0.8.0.0, 0.8.1.0 |
---|---|

Dependencies | base (>=3 && <5), primitive [details] |

License | BSD3 |

Author | Aleksey Khudyakov <alexey.skladnoy@gmail.com> |

Maintainer | Aleksey Khudyakov <alexey.skladnoy@gmail.com> |

Stability | Unknown |

Category | Data |

Bug tracker | https://github.com/Shimuuar/fixed-vector/issues |

Source repository | head: hg clone http://bitbucket.org/Shimuuar/fixed-vector head: git clone http://github.com/Shimuuar/fixed-vector |

Uploaded | Tue Aug 6 15:59:24 UTC 2013 by AlexeyKhudyakov |

Distributions | LTSHaskell:0.8.1.0, NixOS:0.8.1.0, Stackage:0.8.1.0, Tumbleweed:0.8.1.0 |

Downloads | 5580 total (53 in the last 30 days) |

Votes | |

Status | Docs uploaded by user Build status unknown [no reports yet] |

## Downloads

- fixed-vector-0.5.1.0.tar.gz [browse] (Cabal source package)
- Package description (included in the package)