Module
Data.PartialOrd
- Package
- purescript-higher-order
- Repository
- matthew-hilty/purescript-higher-order
#PartialOrd Source
class PartialOrd a where
The PartialOrd
typeclass registers types that support a partial order.
PartialOrd
instances should satisfy the laws of partial orderings:
- Reflexivity:
a <=? a == Just true
- Antisymmetry:
if
a <=? b == Just true
andb <=? a == Just true
thena == b
- Transitivity:
if
a <=? b == Just true
andb <=? c == Just true
thena <=? c == Just true
Although partial orderings and total orderings have similar laws, unlike total orderings, partial orderings need not satisfy the law of connexity, which follows:
- Connexity:
a <= b
orb <= a
Members
Instances
(Ord a) => PartialOrd a
#pClamp Source
pClamp :: forall a. PartialOrd a => a -> a -> a -> Maybe a
#pComparing Source
pComparing :: forall b a. PartialOrd b => (a -> b) -> a -> a -> Maybe Ordering
#pGreaterThan Source
pGreaterThan :: forall a. PartialOrd a => a -> a -> Maybe Boolean
#pGreaterThanOrEq Source
pGreaterThanOrEq :: forall a. PartialOrd a => a -> a -> Maybe Boolean
#pLessThanOrEq Source
pLessThanOrEq :: forall a. PartialOrd a => a -> a -> Maybe Boolean
#pMax Source
pMax :: forall a. PartialOrd a => a -> a -> Maybe a
#pMin Source
pMin :: forall a. PartialOrd a => a -> a -> Maybe a