Copyright | Copyright (c) 2007--2021 wren gayle romano |
---|---|
License | BSD3 |
Maintainer | [email protected] |
Stability | stable |
Portability | semi-portable (OverlappingInstances,...) |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Data.Number.PartialOrd
Contents
Description
Synopsis
- class PartialOrd a where
- comparingPO :: PartialOrd b => (a -> b) -> a -> a -> Maybe Ordering
Partial Ordering
class PartialOrd a where Source #
This class defines a partially ordered type. The method names
were chosen so as not to conflict with Ord
and Eq
. We use
Maybe
instead of defining new types PartialOrdering
and
FuzzyBool
because this way should make the class easier to
use.
Minimum complete definition: cmp
Minimal complete definition
Methods
cmp :: a -> a -> Maybe Ordering Source #
like compare
gt :: a -> a -> Maybe Bool infix 4 Source #
like (>
)
ge :: a -> a -> Maybe Bool infix 4 Source #
like (>=
)
eq :: a -> a -> Maybe Bool infix 4 Source #
like (==
)
ne :: a -> a -> Maybe Bool infix 4 Source #
like (/=
)
le :: a -> a -> Maybe Bool infix 4 Source #
like (<=
)
lt :: a -> a -> Maybe Bool infix 4 Source #
like (<
)
maxPO :: a -> a -> Maybe a infix 4 Source #
like max
. The default instance returns the left argument
when they're equal.
minPO :: a -> a -> Maybe a infix 4 Source #
like min
. The default instance returns the left argument
when they're equal.
Instances
Functions
comparingPO :: PartialOrd b => (a -> b) -> a -> a -> Maybe Ordering Source #
Like Data.Ord.comparing
. Helpful in conjunction with the
xxxBy
family of functions from Data.List