dimensions-0.3.0.0: Safe type-level dimensionality for multidimensional data.

Copyright(c) Artem Chirkin
LicenseBSD3
Maintainerchirkin@arch.ethz.ch
Safe HaskellNone
LanguageHaskell2010

Numeric.Dimensions

Description

Provides a set of data types to define and traverse through multiple dimensions. The core types are `Dim ds` and `Idx ds`, which fix dimension sizes at compile time.

Lower indices go first, i.e. assumed enumeration is i = i1 + i2*n1 + i3*n1*n2 + ... + ik*n1*n2*...*n(k-1). This is also to encourage column-first matrix enumeration and array layout.

Synopsis

Documentation

data Evidence :: Constraint -> Type where Source #

Bring an instance of certain class or constaint satisfaction evidence into scope.

Constructors

Evidence :: a => Evidence a 

withEvidence :: Evidence a -> (a => r) -> r Source #

sumEvs :: Evidence a -> Evidence b -> Evidence (a, b) Source #

(+!+) :: Evidence a -> Evidence b -> Evidence (a, b) infixl 4 Source #