| Copyright | (c) 2016 Moritz Schulte |
|---|---|
| License | BSD3 |
| Maintainer | mtesseract@silverratio.net |
| Stability | experimental |
| Portability | POSIX |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Data.PartialOrd
Description
This module provides the PartialOrd typeclass suitable for types
admitting a partial order.
Along with the PartialOrd typeclass and some utility functions for
working with partially ordered types, it exports implementations for
the numeric types several numeric types, lists and sets.
- class PartialOrd a where
- maxima :: PartialOrd a => [a] -> [a]
- minima :: PartialOrd a => [a] -> [a]
- elem :: (PartialOrd a, Foldable t) => a -> t a -> Bool
- notElem :: (PartialOrd a, Foldable t) => a -> t a -> Bool
- nub :: PartialOrd a => [a] -> [a]
Documentation
class PartialOrd a where Source #
Minimal complete definition
Methods
(<=) :: a -> a -> Bool Source #
Less-than-or-equal relation.
(>=) :: a -> a -> Bool Source #
Bigger-than-or-equal relation. Defined in terms of <=.
(==) :: a -> a -> Bool Source #
Equality relation. Defined in terms of <=.
(/=) :: a -> a -> Bool Source #
Inequality relation. Defined in terms of ==.
(<) :: a -> a -> Bool Source #
Instances
| PartialOrd Double Source # | |
| PartialOrd Float Source # | |
| PartialOrd Int Source # | Derive the partial order from the total order for the following types: |
| PartialOrd Integer Source # | |
| PartialOrd a => PartialOrd [a] Source # | Define the partial order in terms of the sublist relation. |
| Ord a => PartialOrd (Set a) Source # | Define the partial order in terms of the subset relation. |
maxima :: PartialOrd a => [a] -> [a] Source #
Compute the list of all elements that are not less than any other element in the list.
minima :: PartialOrd a => [a] -> [a] Source #
Compute the list of all elements that are not bigger than any other element in the list.
elem :: (PartialOrd a, Foldable t) => a -> t a -> Bool Source #
Version of the traditional elem function using the PartialOrd notion of equality.
notElem :: (PartialOrd a, Foldable t) => a -> t a -> Bool Source #
Version of the traditional notElem function using the PartialOrd notion of equality.
nub :: PartialOrd a => [a] -> [a] Source #
Version of the traditional nub function using the PartialOrd notion of equality.