semiring-num-0.1.0.0: Basic semiring class and instances

LicenseMIT
Maintainermail@doisinkidney.com
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Test.Semiring

Description

 

Synopsis

Documentation

plusAssoc :: (Eq a, Semiring a, Show a) => a -> a -> a -> Property Source #

Plus is associative.

mulAssoc :: (Eq a, Semiring a, Show a) => a -> a -> a -> Property Source #

Multiplication is associative.

plusComm :: (Eq a, Semiring a, Show a) => a -> a -> Property Source #

Plus is commutative.

mulDistribL :: (Eq a, Semiring a, Show a) => a -> a -> a -> Property Source #

Multiplication distributes left.

mulDistribR :: (Eq a, Semiring a, Show a) => a -> a -> a -> Property Source #

Multiplication distributes right.

plusId :: (Eq a, Semiring a, Show a) => a -> Property Source #

Additive identity

mulId :: (Eq a, Semiring a, Show a) => a -> Property Source #

Multiplicative identity

semiringLaws :: (Eq a, Semiring a, Show a, Arbitrary a) => Proxy a -> Property Source #

A property for all laws of Semiring.