# fixed-vector: Generic vectors with statically known size.

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:

`>>>`

6`sum (1,2,3)`

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

.

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, 0.9.0.0, 1.0.0.0, 1.1.0.0 |
---|---|

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

License | BSD-3-Clause |

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

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

Category | Data |

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

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

Uploaded | by AlexeyKhudyakov at Sat May 18 11:02:22 UTC 2013 |

Distributions | LTSHaskell:1.1.0.0, NixOS:1.1.0.0, Stackage:1.1.0.0, openSUSE:1.1.0.0 |

Downloads | 11020 total (79 in the last 30 days) |

Rating | (no votes yet) [estimated by rule of succession] |

Your Rating | |

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

## Modules

[Index]

## Downloads

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