fixed-vector

Generic vectors with statically known size.

Version on this page:0.7.0.3@rev:1
LTS Haskell 22.36:1.2.3.0
Stackage Nightly 2024-10-03: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.7.0.3@sha256:084d50dbe56c2a8e33bb95783c14348043dd635708496bf37945162e4c759e3e,2554
Depends on 2 packages(full list with versions):
Used by 1 package in lts-2.22(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