W3cubDocs

/Haskell 7

Data.Ord

Copyright (c) The University of Glasgow 2005
License BSD-style (see the file libraries/base/LICENSE)
Maintainer [email protected]
Stability stable
Portability portable
Safe Haskell Trustworthy
Language Haskell2010

Description

Orderings

class Eq a => Ord a where Source

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.

Minimal complete definition

compare | (<=)

Methods

compare :: a -> a -> Ordering Source

(<) :: a -> a -> Bool infix 4 Source

(<=) :: a -> a -> Bool infix 4 Source

(>) :: a -> a -> Bool infix 4 Source

(>=) :: a -> a -> Bool infix 4 Source

max :: a -> a -> a Source

min :: a -> a -> a Source

Instances

Ord Bool
Ord Char
Ord Double
Ord Float
Ord Int
Ord Int8
Ord Int16
Ord Int32
Ord Int64
Ord Integer
Ord Ordering
Ord Word
Ord Word8
Ord Word16
Ord Word32
Ord Word64
Ord TypeRep
Ord ()
Ord BigNat
Ord GeneralCategory
Ord Fingerprint
Ord TyCon
Ord Associativity
Ord Fixity
Ord Arity
Ord Any
Ord All
Ord ArithException
Ord ErrorCall
Ord CUIntMax
Ord CIntMax
Ord CUIntPtr
Ord CIntPtr
Ord CSUSeconds
Ord CUSeconds
Ord CTime
Ord CClock
Ord CSigAtomic
Ord CWchar
Ord CSize
Ord CPtrdiff
Ord CDouble
Ord CFloat
Ord CULLong
Ord CLLong
Ord CULong
Ord CLong
Ord CUInt
Ord CInt
Ord CUShort
Ord CShort
Ord CUChar
Ord CSChar
Ord CChar
Ord IntPtr
Ord WordPtr
Ord SeekMode
Ord NewlineMode
Ord Newline
Ord BufferMode
Ord ExitCode
Ord ArrayException
Ord AsyncException
Ord Fd
Ord CRLim
Ord CTcflag
Ord CSpeed
Ord CCc
Ord CUid
Ord CNlink
Ord CGid
Ord CSsize
Ord CPid
Ord COff
Ord CMode
Ord CIno
Ord CDev
Ord ThreadStatus
Ord BlockReason
Ord ThreadId
Ord IOMode
Ord Version
Ord Natural
Ord SomeSymbol
Ord SomeNat
Ord Unique
Ord Void
Ord a => Ord [a]
Integral a => Ord (Ratio a)
Ord (Ptr a)
Ord (FunPtr a)
Ord (U1 p)
Ord p => Ord (Par1 p)
Ord a => Ord (Maybe a)
Ord a => Ord (Down a)
Ord a => Ord (Last a)
Ord a => Ord (First a)
Ord a => Ord (Product a)
Ord a => Ord (Sum a)
Ord a => Ord (Dual a)
Ord (ForeignPtr a)
Ord a => Ord (ZipList a)
Ord (Fixed a)
Ord a => Ord (Identity a)
(Ord a, Ord b) => Ord (Either a b)
Ord (f p) => Ord (Rec1 f p)
(Ord a, Ord b) => Ord (a, b)
Ord (Proxy k s)
Ord a => Ord (Const a b)
Ord c => Ord (K1 i c p)
(Ord (f p), Ord (g p)) => Ord ((:+:) f g p)
(Ord (f p), Ord (g p)) => Ord ((:*:) f g p)
Ord (f (g p)) => Ord ((:.:) f g p)
(Ord a, Ord b, Ord c) => Ord (a, b, c)
Ord ((:~:) k a b)
Ord (Coercion k a b)
Ord (f a) => Ord (Alt k f a)
Ord (f p) => Ord (M1 i c f p)
(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)

data Ordering :: * Source

Constructors

LT
EQ
GT

newtype Down a Source

The Down type allows you to reverse sort order conveniently. A value of type Down a contains a value of type a (represented as Down a). If a has an Ord instance associated with it then comparing two values thus wrapped will give you the opposite of their normal sort order. This is particularly useful when sorting in generalised list comprehensions, as in: then sortWith by Down x

Provides Show and Read instances (since: 4.7.0.0).

Since: 4.6.0.0

Constructors

Down a

Instances

Eq a => Eq (Down a)
Ord a => Ord (Down a)
Read a => Read (Down a)
Show a => Show (Down a)

comparing :: Ord a => (b -> a) -> b -> b -> Ordering Source

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) ...

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/7.10.3/docs/html/libraries/base-4.8.2.0/Data-Ord.html