Module

Test.Abides.Properties

Package
purescript-abides
Repository
athanclark/purescript-abides

#reflexive Source

reflexive :: forall a. Eq a => a -> Boolean

x == x?

#commutative Source

commutative :: forall b a. Eq b => (a -> a -> b) -> a -> a -> Boolean

f x y == f y x?

#associative Source

associative :: forall a. Eq a => (a -> a -> a) -> a -> a -> a -> Boolean

f (f x y) z == f x (f y z)?

#idempotent Source

idempotent :: forall a. Eq a => (a -> a) -> a -> Boolean

f (f x) == f x?

#distributive Source

distributive :: forall a. Eq a => (a -> a) -> (a -> a -> a) -> a -> a -> Boolean

f (g x y) == g (f x) (f y)?

#distributive' Source

distributive' :: forall b a. Eq b => (a -> b) -> (a -> a -> a) -> (b -> b -> b) -> a -> a -> Boolean

f (g x y) == g' (f x) (f y)?

#constL Source

constL :: forall a. Eq a => (a -> a -> a) -> a -> a -> Boolean

f x y == x? Note: bottom ~ forall y. f bottom y == bottom, while unit ~ forall x. f x unit == x

#constR Source

constR :: forall a. Eq a => (a -> a -> a) -> a -> a -> Boolean

f x y == y?