Description
Fixed-length lists and low-dimensional linear algebra.
Description
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.