| Copyright | Copyright (c) 2007--2021 wren gayle romano |
|---|---|
| License | BSD3 |
| Maintainer | wren@cpan.org |
| 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