fixed-vector

Generic vectors with statically known size.

Version on this page:0.8.0.0
LTS Haskell 22.14:1.2.3.0
Stackage Nightly 2024-03-28:1.2.3.0
Latest on Hackage:1.2.3.0

See all snapshots fixed-vector appears in

BSD-3-Clause licensed and maintained by Aleksey Khudyakov
This version can be pinned in stack with:fixed-vector-0.8.0.0@sha256:4acf4fdc1d29e46f5975cb7ab5d0fee4634c1175d833f3a3bb1855db5a909c18,2547
Used by 1 package in nightly-2015-04-18(full list with versions):

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