Haskell Hierarchical Libraries (base package)ContentsIndex
Data.Ord
Portability portable
Stability stable
Maintainer libraries@haskell.org
Description
Orderings
Synopsis
class Eq a => Ord a where
compare :: a -> a -> Ordering
(<) :: a -> a -> Bool
(<=) :: a -> a -> Bool
(>) :: a -> a -> Bool
(>=) :: a -> a -> Bool
max :: a -> a -> a
min :: a -> a -> a
data Ordering
= LT
| EQ
| GT
comparing :: Ord a => (b -> a) -> b -> b -> Ordering
Documentation
class Eq a => Ord a where

The Ord class is used for totally ordered datatypes.

Instances of Ord can be derived for any user-defined datatype whose constituent types are in Ord. The declared order of the constructors in the data declaration determines the ordering in derived Ord instances. The Ordering datatype allows a single comparison to determine the precise ordering of two objects.

Minimal complete definition: either compare or <=. Using compare can be more efficient for complex types.

Methods
compare :: a -> a -> Ordering
(<) :: a -> a -> Bool
(<=) :: a -> a -> Bool
(>) :: a -> a -> Bool
(>=) :: a -> a -> Bool
max :: a -> a -> a
min :: a -> a -> a
Instances
(Ix ix, Ord e, IArray UArray e) => Ord (UArray ix e)
Ord ByteString
Ord ByteString
Ord GeneralCategory
(Ord a, Ord b) => Ord (Either a b)
Ord (Fixed a)
Ord a => Ord (IntMap a)
Ord IntSet
(Ord k, Ord v) => Ord (Map k v)
Ord a => Ord (Maybe a)
Ord All
Ord Any
Ord a => Ord (Sum a)
Ord a => Ord (Product a)
Ord PackedString
Ord a => Ord (Seq a)
Ord a => Ord (ViewL a)
Ord a => Ord (ViewR a)
Ord a => Ord (Set a)
(Ord a, Ord b) => Ord (a, b)
(Ord a, Ord b, Ord c) => Ord (a, b, c)
(Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d)
(Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e)
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f) => Ord (a, b, c, d, e, f)
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g) => Ord (a, b, c, d, e, f, g)
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h) => Ord (a, b, c, d, e, f, g, h)
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i) => Ord (a, b, c, d, e, f, g, h, i)
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j) => Ord (a, b, c, d, e, f, g, h, i, j)
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k) => Ord (a, b, c, d, e, f, g, h, i, j, k)
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l) => Ord (a, b, c, d, e, f, g, h, i, j, k, l)
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m) => Ord (a, b, c, d, e, f, g, h, i, j, k, l, m)
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m, Ord n) => Ord (a, b, c, d, e, f, g, h, i, j, k, l, m, n)
(Ord a, Ord b, Ord c, Ord d, Ord e, Ord f, Ord g, Ord h, Ord i, Ord j, Ord k, Ord l, Ord m, Ord n, Ord o) => Ord (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o)
Ord Unique
Ord Version
Ord CChar
Ord CSChar
Ord CUChar
Ord CShort
Ord CUShort
Ord CInt
Ord CUInt
Ord CLong
Ord CULong
Ord CLLong
Ord CULLong
Ord CFloat
Ord CDouble
Ord CLDouble
Ord CPtrdiff
Ord CSize
Ord CWchar
Ord CSigAtomic
Ord CClock
Ord CTime
Ord CIntPtr
Ord CUIntPtr
Ord CIntMax
Ord CUIntMax
Ord WordPtr
Ord IntPtr
(Ix i, Ord e) => Ord (Array i e)
Ord a => Ord [a]
Ord ()
Ord Char
Ord Int
Ord Bool
Ord Ordering
Ord ThreadId
Ord Float
Ord Double
Ord (ForeignPtr a)
Ord SeekMode
Ord BufferMode
Ord ArithException
Ord AsyncException
Ord ArrayException
Ord ExitCode
Ord IOMode
Ord Int64
Ord Int8
Ord Int16
Ord Int32
Ord Integer
Ord (Ptr a)
Ord (FunPtr a)
Integral a => Ord (Ratio a)
Ord Word64
Ord Word
Ord Word8
Ord Word16
Ord Word32
Ord Permissions
Ord TimeLocale
Ord CDev
Ord CIno
Ord CMode
Ord COff
Ord CPid
Ord CSsize
Ord CGid
Ord CNlink
Ord CUid
Ord CCc
Ord CSpeed
Ord CTcflag
Ord CRLim
Ord Fd
Ord Month
Ord Day
Ord ClockTime
Ord CalendarTime
Ord TimeDiff
data Ordering
Represents an ordering relationship between two values: less than, equal to, or greater than. An Ordering is returned by compare.
Constructors
LT
EQ
GT
Instances
Data Ordering
Monoid Ordering
Typeable Ordering
Ix Ordering
Eq Ordering
Ord Ordering
Bounded Ordering
Enum Ordering
Read Ordering
Show Ordering
comparing :: Ord a => (b -> a) -> b -> b -> Ordering
 comparing p x y = compare (p x) (p y)

Useful combinator for use in conjunction with the xxxBy family of functions from Data.List, for example:

   ... sortBy (comparing fst) ...
Produced by Haddock version 0.6