LinAlg-0.2.0.0: An interface for specifying linear algebra computations

Safe HaskellNone
LanguageHaskell2010

Numeric.LinAlg.SNat

Documentation

data SNat :: Nat -> *

Instances

Eq (SNat $a) 
Ord (SNat $a) 
Show (SNat $a) 

snat :: SNat n -> Int

lit :: KnownNat n => Proxy n -> SNat n

plus :: SNat n -> SNat m -> SNat (n + m)

times :: SNat n -> SNat m -> SNat (n * m)

pow :: SNat n -> SNat m -> SNat (n ^ m)

minus :: SNat n -> SNat m -> Maybe (SNat (n - m))

cmp :: SNat n -> SNat m -> Maybe (n :~: m)