Vec: Fixed-length lists and low-dimensional linear algebra.

[ bsd3, data, library, math ] [ Propose Tags ]
Versions 0.9.0, 0.9.1, 0.9.2, 0.9.3, 0.9.4, 0.9.5, 0.9.6, 0.9.7, 0.9.8, 0.9.9, 1.0, 1.0.1, 1.0.5
Dependencies array, base (<=5), ghc‑prim [details]
License BSD-3-Clause
Author Scott E. Dillard
Maintainer Scott E. Dillard <>
Category Data, Math
Home page
Uploaded by ScottDillard at Wed Aug 6 17:14:29 UTC 2014
Distributions NixOS:1.0.5
Downloads 6491 total (43 in the last 30 days)
Rating (no votes yet) [estimated by rule of succession]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Successful builds reported [all 1 reports]
Hackage Matrix CI

Vectors are represented by lists with type-encoded lengths. The constructor is :., which acts like a cons both at the value and type levels, with () taking the place of nil. So x:.y:.z:.() is a 3d vector. The library provides a set of common list-like functions (map, fold, etc) for working with vectors. Built up from these functions are a small but useful set of linear algebra operations: matrix multiplication, determinants, solving linear systems, inverting matrices.




Maintainer's Corner

For package maintainers and hackage trustees