Functionality for ordering and comparison.
Eq a defines equality (==) on
type Bool =
Bool represents a value which can only be
Ord a defines an ordering on
type Ordering =
Ordering represents the result of comparing two values
Tests whether the values are equal.
Tests whether the values are not equal.
Compares two values and returns wheter the first is less than, equal or greater than the second.
l is less than
l is less than or equal to
l is greater than or equal to
l is greater than
Semigroup a represents an associative operation on
This means the following laws must hold:
forall x . append x (append y z) == append (append x y) z
Monoid a represents an semigroup an which has an identity. This means
the following additional laws must hold:
forall x . append x empty == x
forall x . append empty x == x