Spec-Zone.ru › Haskell 7

Data.Ord

Copyright (c) The University of Glasgow 2005
License BSD-style (see the file libraries/base/LICENSE)
Maintainer libraries@haskell.org
Stability stable
Portability portable
Safe Haskell Trustworthy
Language Haskell2010

Описание

Порядки

class Eq a => Ord a where Источник

Класс Ord используется для типов данных с полным порядком.

Экземпляры Ord могут быть получены для любого пользовательского типа данных, составные типы которого находятся в Ord. Заявленный порядок конструкторов в объявлении данных определяет порядок в полученных экземплярах Ord. Тип Ordering позволяет определить точный порядок двух объектов с помощью одного сравнения.

Минимальное полное определение: либо compare или <=. Использование compare может быть более эффективным для сложных типов.

Минимальное полное определение

compare | (<=)

Краткое описание методов

compare :: a -> a -> Ordering Источник

(<) :: a -> a -> Bool infix 4 Источник

(<=) :: a -> a -> Bool infix 4 Источник

(>) :: a -> a -> Bool infix 4 Источник

(>=) :: a -> a -> Bool infix 4 Источник

max :: a -> a -> a Источник

min :: a -> a -> a Источник

Экземпляры

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 СтатусПотока
Ord ПричинаБлокировки
Ord ИдентификаторПотока
Ord РежимВводаВывода
Ord Версия
Ord ЕстественноеЧисло
Ord НекоторыеСимволы
Ord НекоторыеНатуральные
Ord Уникальный
Ord Пустое
Ord a => Ord [a]
Целочисленный a => Ord (Соотношение a)
Ord (Указатель a)
Ord (ФункциональныйУказатель a)
Ord (U1 p)
Ord p => Ord (Par1 p)
Ord a => Ord (Возможно a)
Ord a => Ord (Down a)
Ord a => Ord (Последний a)
Ord a => Ord (Первый a)
Ord a => Ord (Произведение a)
Ord a => Ord (Сумма a)
Ord a => Ord (Двойственный a)
Ord (ForeignPtr a)
Ord a => Ord (ZipList a)
Ord (Fixed a)
Ord a => Ord (Тождество a)
(Ord a, Ord b) => Ord (Either a b)
Ord (f p) => Ord (Rec1 f p)
(Ord a, Ord b) => Ord (a, b)
Ord (Заместитель 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 (Принуждение k a b)
Ord (f a) => Ord (Альтернатива 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

Конструкторы

LT
EQ
GT

Примеры использования

Bounded Ordering
Enum Ordering
Eq Ordering
Data Ordering
Ord Ordering
Read Ordering
Show Ordering
Ix Ordering
Generic Ordering
Monoid Ordering
type Rep Ordering
type (==) Ordering a b

newtype Down a Source

Тип Down позволяет удобно изменять порядок сортировки. Значение типа Down a содержит значение типа a (представленное как Down a). Если у a есть Ord экземпляр, то сравнение двух обернутых значений даст обратный порядок сортировки по сравнению с обычным. Это особенно полезно при сортировке в обобщённых списочных выражениях, например: then sortWith by Down x

Предоставляет Show и Read экземпляры (с версии: 4.7.0.0).

С версии: 4.6.0.0

Конструкторы

Down a

Примеры использования

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)

Полезный комбинатор для использования совместно с функциями xxxBy из Data.List, например:

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API