semiring-num-0.2.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.

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

Annihilation of <.> by zero.

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

A property for all laws of Semiring.

type Laws a = a -> a -> a -> Property Source #