Safe Haskell | Safe-Inferred |
---|

- class Eq a => PartialOrd a where
- partialOrdEq :: PartialOrd a => a -> a -> Bool
- lfpFrom :: PartialOrd a => a -> (a -> a) -> a
- unsafeLfpFrom :: Eq a => a -> (a -> a) -> a
- gfpFrom :: PartialOrd a => a -> (a -> a) -> a
- unsafeGfpFrom :: Eq a => a -> (a -> a) -> a

# Partial orderings

class Eq a => PartialOrd a whereSource

A partial ordering on sets: http://en.wikipedia.org/wiki/Partially_ordered_set

This can be defined using either |joinLeq| or |meetLeq|, or a more efficient definition can be derived directly.

Reflexive: a `leq`

a
Antisymmetric: a `leq`

b && b `leq`

a ==> a == b
Transitive: a `leq`

b && b `leq`

c ==> a `leq`

c

The superclass equality (which can be defined using |partialOrdEq|) must obey these laws:

Reflexive: a == a Transitive: a == b && b == c ==> a == b

PartialOrd IntSet | |

(Eq (IntMap v), PartialOrd v) => PartialOrd (IntMap v) | |

(Eq (Set a), Ord a) => PartialOrd (Set a) | |

(Eq (k -> v), PartialOrd v, Enumerable k) => PartialOrd (k -> v) | |

(Eq (a, b), PartialOrd a, PartialOrd b) => PartialOrd (a, b) | |

(Eq (Map k v), Ord k, PartialOrd v) => PartialOrd (Map k v) |

partialOrdEq :: PartialOrd a => a -> a -> BoolSource

The equality relation induced by the partial-order structure

# Fixed points of chains in partial orders

lfpFrom :: PartialOrd a => a -> (a -> a) -> aSource

Least point of a partially ordered monotone function. Checks that the function is monotone.

unsafeLfpFrom :: Eq a => a -> (a -> a) -> aSource

Least point of a partially ordered monotone function. Does not checks that the function is monotone.

gfpFrom :: PartialOrd a => a -> (a -> a) -> aSource

Greatest fixed point of a partially ordered antinone function. Checks that the function is antinone.

unsafeGfpFrom :: Eq a => a -> (a -> a) -> aSource

Greatest fixed point of a partially ordered antinone function. Does not check that the function is antinone.