numeric-prelude-0.2.2.1: An experimental alternative hierarchy of numeric type classes

Algebra.Laws

Description

Define common properties that can be used e.g. for automated tests. Cf. to Test.QuickCheck.Utils.

Documentation

commutative :: Eq a => (b -> b -> a) -> b -> b -> BoolSource

associative :: Eq a => (a -> a -> a) -> a -> a -> a -> BoolSource

leftIdentity :: Eq a => (b -> a -> a) -> b -> a -> BoolSource

rightIdentity :: Eq a => (a -> b -> a) -> b -> a -> BoolSource

identity :: Eq a => (a -> a -> a) -> a -> a -> BoolSource

leftZero :: Eq a => (a -> a -> a) -> a -> a -> BoolSource

rightZero :: Eq a => (a -> a -> a) -> a -> a -> BoolSource

zero :: Eq a => (a -> a -> a) -> a -> a -> BoolSource

leftInverse :: Eq a => (b -> b -> a) -> (b -> b) -> a -> b -> BoolSource

rightInverse :: Eq a => (b -> b -> a) -> (b -> b) -> a -> b -> BoolSource

inverse :: Eq a => (b -> b -> a) -> (b -> b) -> a -> b -> BoolSource

leftDistributive :: Eq a => (a -> b -> a) -> (a -> a -> a) -> b -> a -> a -> BoolSource

rightDistributive :: Eq a => (b -> a -> a) -> (a -> a -> a) -> b -> a -> a -> BoolSource

homomorphism :: Eq a => (b -> a) -> (b -> b -> b) -> (a -> a -> a) -> b -> b -> BoolSource

rightCascade :: Eq a => (b -> b -> b) -> (a -> b -> a) -> a -> b -> b -> BoolSource

leftCascade :: Eq a => (b -> b -> b) -> (b -> a -> a) -> a -> b -> b -> BoolSource