fixed-vector

Generic vectors with statically known size.

Version on this page:0.8.1.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.1.0@sha256:799df153ed38f2e088a51bb571a12cdec2f7d59f1683d17389bc7b9c011d030e,2545
Used by 2 packages in lts-7.20(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