Data.Ord
| Авторские права | (c) Университет Глазго 2005 |
|---|---|
| Лицензия | BSD-стиль (см. файл libraries/base/LICENSE) |
| Поддержка | libraries@haskell.org |
| Стабильность | стабильно |
| Переносимость | переносимый |
| Безопасный Haskell | Надёжный |
| Язык | Haskell2010 |
Описание
Порядки
class Eq a => Ord a where Исходный код
Класс Ord используется для полностью упорядоченных типов данных.
Экземпляры Ord могут быть выведены для любого пользовательского типа данных, составляющие типы которого находятся в Ord. Указанный порядок конструкторов в объявлении данных определяет порядок в выведенных экземплярах Ord. Тип Ordering позволяет определить точный порядок двух объектов с помощью одного сравнения.
Отчёт Haskell не определяет законов для Ord. Однако, <= обычно ожидается, что он реализует нестрогий частичный порядок и будет иметь следующие свойства:
- Транзитивность
- если
x <= y && y <= z=True, тоx <= z=True - Рефлексивность
-
x <= x=True - Антисимметричность
- если
x <= y && y <= x=True, тоx == y=True
Обратите внимание, что ожидается выполнение следующих взаимодействий операторов:
-
x >= y=y <= x -
x < y=x <= y && x /= y -
x > y=y < x -
x < y=compare x y == LT -
x > y=compare x y == GT -
x == y=compare x y == EQ -
min x y == if x <= y then x else y=True -
max x y == if x >= y then x else y=True
Обратите внимание, что (7.) и (8.) не требуют, чтобы min и max возвращали любой из своих аргументов. Результат просто должен равняться одному из аргументов с точки зрения (==).
Минимальное полное определение: либо 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 | |
Определено в GHC.Classes Методыcompare :: Bool -> Bool -> Ordering Исходный код (<) :: Bool -> Bool -> Bool Исходный код (<=) :: Bool -> Bool -> Bool Исходный код (>) :: Bool -> Bool -> Bool Исходный код (>=) :: Bool -> Bool -> Bool Исходный код max :: Bool -> Bool -> Bool Исходный код min :: Bool -> Bool -> Bool Исходный код | |
| Ord Char | |
Определено в GHC.Classes Методыcompare :: Char -> Char -> Ordering Исходный код (<) :: Char -> Char -> Bool Исходный код (<=) :: Char -> Char -> Bool Исходный код (>) :: Char -> Char -> Bool Исходный код (>=) :: Char -> Char -> Bool Исходный код max :: Char -> Char -> Char Исходный код min :: Char -> Char -> Char Исходный код | |
| Ord Double |
Обратите внимание, что из-за наличия >>> 0/0 <= (0/0 :: Double) False Также обратите внимание, что из-за этого, взаимодействия операторов >>> (0/0 :: Double) > 1 False >>> compare (0/0 :: Double) 1 GT |
Определено в GHC.Classes Методыcompare :: Double -> Double -> Ordering Исходный код (<) :: Double -> Double -> Bool Исходный код (<=) :: Double -> Double -> Bool Исходный код (>) :: Double -> Double -> Bool Исходный код (>=) :: Double -> Double -> Bool Исходный код max :: Double -> Double -> Double Исходный код min :: Double -> Double -> Double Исходный код | |
| Ord Float |
Обратите внимание, что из-за наличия >>> 0/0 <= (0/0 :: Float) False Также обратите внимание, что из-за этого, взаимодействия операторов >>> (0/0 :: Float) > 1 False >>> compare (0/0 :: Float) 1 GT |
Определено в GHC.Classes | |
| Ord Word8 | С версии: base-2.1 |
Определено в GHC.Word | |
| Ord Word16 | С версии: base-2.1 |
| Ord Word32 | С версии: base-2.1 |
| Ord Word64 | С версии: base-2.1 |
| Ord SomeTypeRep | |
Определено в Data.Typeable.Internal Краткое описание методовcompare :: SomeTypeRep -> SomeTypeRep -> Ordering Source (<) :: SomeTypeRep -> SomeTypeRep -> Bool Source (<=) :: SomeTypeRep -> SomeTypeRep -> Bool Source (>) :: SomeTypeRep -> SomeTypeRep -> Bool Source (>=) :: SomeTypeRep -> SomeTypeRep -> Bool Source max :: SomeTypeRep -> SomeTypeRep -> SomeTypeRep Source min :: SomeTypeRep -> SomeTypeRep -> SomeTypeRep Source | |
| Ord () | |
Определено в Foreign.Ptr | |
| Ord CUIntMax | |
Определено в Foreign.C.Types Краткое описание методовcompare :: CUIntMax -> CUIntMax -> Ordering Источник (<) :: CUIntMax -> CUIntMax -> Bool Источник (<=) :: CUIntMax -> CUIntMax -> Bool Источник (>) :: CUIntMax -> CUIntMax -> Bool Источник (>=) :: CUIntMax -> CUIntMax -> Bool Источник | |
| Ord CIntMax | |
Определено в Foreign.C.Types | |
| Ord CUIntPtr | |
Определено в Foreign.C.Types | |
| Ord CIntPtr | |
Определено в Foreign.C.Types | |
| Ord CSUSeconds | |
Определено в Foreign.C.Types Краткое описание методовcompare :: CSUSeconds -> CSUSeconds -> Ordering Source (<) :: CSUSeconds -> CSUSeconds -> Bool Source (<=) :: CSUSeconds -> CSUSeconds -> Bool Source (>) :: CSUSeconds -> CSUSeconds -> Bool Source (>=) :: CSUSeconds -> CSUSeconds -> Bool Source max :: CSUSeconds -> CSUSeconds -> CSUSeconds Source min :: CSUSeconds -> CSUSeconds -> CSUSeconds Source | |
| Ord CUSeconds | |
Определено в Foreign.C.Types Краткое описание методовcompare :: CUSeconds -> CUSeconds -> Ordering Источник (<) :: CUSeconds -> CUSeconds -> Bool Источник (<=) :: CUSeconds -> CUSeconds -> Bool Источник (>) :: CUSeconds -> CUSeconds -> Bool Источник (>=) :: CUSeconds -> CUSeconds -> Bool Источник | |
| Ord CTime | |
| Ord CClock | |
Определено в Foreign.C.Types | |
| Ord CSigAtomic | |
Определено в Foreign.C.Types Краткое описание методовcompare :: CSigAtomic -> CSigAtomic -> Ordering Источник (<) :: CSigAtomic -> CSigAtomic -> Bool Источник (<=) :: CSigAtomic -> CSigAtomic -> Bool Источник (>) :: CSigAtomic -> CSigAtomic -> Bool Источник (>=) :: CSigAtomic -> CSigAtomic -> Bool Источник max :: CSigAtomic -> CSigAtomic -> CSigAtomic Источник min :: CSigAtomic -> CSigAtomic -> CSigAtomic Источник | |
| Ord CWchar | |
Определено в Foreign.C.Types | |
| Ord CSize | |
| Ord CPtrdiff | |
Определено в Foreign.C.Types | |
| Ord CDouble | |
Определено в Foreign.C.Types | |
| Ord CFloat | |
| Ord CBool | |
Определено в Foreign.C.Types | |
| Ord CULLong | |
Определено в Foreign.C.Types | |
| Ord CLLong | |
| Ord CULong | |
| Ord CLong | |
Определено в Foreign.C.Types | |
| Ord CUInt | |
Определено в Foreign.C.Types | |
| Ord CInt | |
Определено в Foreign.C.Types | |
| Ord CUShort | |
Определено в Foreign.C.Types | |
| Ord CShort | |
Определено в Foreign.C.Types | |
| Ord CUChar | |
Определено в Foreign.C.Types | |
| Ord CSChar | |
Определено в Foreign.C.Types | |
| Ord CChar | |
| Ord SomeNat | С версии: base-4.7.0.0 |
Определено в GHC.Exception.Type Методыcompare :: ArithException -> ArithException -> Ordering Исходный код (<) :: ArithException -> ArithException -> Bool Исходный код (<=) :: ArithException -> ArithException -> Bool Исходный код (>) :: ArithException -> ArithException -> Bool Исходный код (>=) :: ArithException -> ArithException -> Bool Исходный код max :: ArithException -> ArithException -> ArithException Исходный код min :: ArithException -> ArithException -> ArithException Исходный код | |
| Ord ErrorCall | С момента: base-4.7.0.0 |
Определено в GHC.Exception Методыcompare :: ErrorCall -> ErrorCall -> Ordering Исходный код (<) :: ErrorCall -> ErrorCall -> Bool Исходный код (<=) :: ErrorCall -> ErrorCall -> Bool Исходный код (>) :: ErrorCall -> ErrorCall -> Bool Исходный код (>=) :: ErrorCall -> ErrorCall -> Bool Исходный код max :: ErrorCall -> ErrorCall -> ErrorCall Исходный код min :: ErrorCall -> ErrorCall -> ErrorCall Исходный код | |
| Ord SeekMode | С момента: base-4.2.0.0 |
Определено в GHC.IO.Device | |
| Ord NewlineMode | С версии: base-4.3.0.0 |
Определено в GHC.IO.Handle.Types Краткое описание методовcompare :: NewlineMode -> NewlineMode -> Ordering Source (<) :: NewlineMode -> NewlineMode -> Bool Source (<=) :: NewlineMode -> NewlineMode -> Bool Source (>) :: NewlineMode -> NewlineMode -> Bool Source (>=) :: NewlineMode -> NewlineMode -> Bool Source max :: NewlineMode -> NewlineMode -> NewlineMode Source min :: NewlineMode -> NewlineMode -> NewlineMode Source | |
| Ord Newline | С версии: base-4.3.0.0 |
Определено в GHC.IO.Handle.Types | |
| Ord BufferMode | С версии: base-4.2.0.0 |
| Ord CFsFilCnt | |
Определено в System.Posix.Types Методыcompare :: CFsFilCnt -> CFsFilCnt -> Ordering Источник (<) :: CFsFilCnt -> CFsFilCnt -> Bool Источник (<=) :: CFsFilCnt -> CFsFilCnt -> Bool Источник (>) :: CFsFilCnt -> CFsFilCnt -> Bool Источник (>=) :: CFsFilCnt -> CFsFilCnt -> Bool Источник | |
| Ord CFsBlkCnt | |
Определено в System.Posix.Types Методыcompare :: CFsBlkCnt -> CFsBlkCnt -> Ordering Источник (<) :: CFsBlkCnt -> CFsBlkCnt -> Bool Источник (<=) :: CFsBlkCnt -> CFsBlkCnt -> Bool Источник (>) :: CFsBlkCnt -> CFsBlkCnt -> Bool Источник (>=) :: CFsBlkCnt -> CFsBlkCnt -> Bool Источник | |
| Ord CClockId | |
Определено в System.Posix.Types | |
| Ord CBlkCnt | |
Определено в System.Posix.Types | |
| Ord CBlkSize | |
Определено в System.Posix.Types | |
| Ord CRLim | |
| Ord CUid | |
Определено в System.Posix.Types | |
| Ord CNlink | |
Определено в System.Posix.Types | |
| Ord CGid | |
Определено в System.Posix.Types | |
| Ord ThreadStatus | Since: base-4.3.0.0 |
Определено в GHC.Conc.Sync Краткое описание методовcompare :: ThreadStatus -> ThreadStatus -> Ordering Source (<) :: ThreadStatus -> ThreadStatus -> Bool Source (<=) :: ThreadStatus -> ThreadStatus -> Bool Source (>) :: ThreadStatus -> ThreadStatus -> Bool Source (>=) :: ThreadStatus -> ThreadStatus -> Bool Source max :: ThreadStatus -> ThreadStatus -> ThreadStatus Source min :: ThreadStatus -> ThreadStatus -> ThreadStatus Source | |
| Ord BlockReason | Since: base-4.3.0.0 |
Определено в GHC.Conc.Sync Краткое описание методовcompare :: BlockReason -> BlockReason -> Ordering Source (<) :: BlockReason -> BlockReason -> Bool Source (<=) :: BlockReason -> BlockReason -> Bool Source (>) :: BlockReason -> BlockReason -> Bool Source (>=) :: BlockReason -> BlockReason -> Bool Source max :: BlockReason -> BlockReason -> BlockReason Source min :: BlockReason -> BlockReason -> BlockReason Source | |
| Ord ThreadId | Since: base-4.2.0.0 |
| Ord Void | С версии: base-4.8.0.0 |
Определено в Data.Void | |
| Ord a => Ord [a] | |
| Ord a => Ord (Maybe a) | С версии: base-2.1 |
Определено в GHC.Maybe | |
| Integral a => Ord (Ratio a) | С версии: base-2.0.1 |
Определено в GHC.Real | |
| Ord (Ptr a) | С версии: base-2.1 |
Определено в GHC.Ptr | |
| Ord (FunPtr a) | |
Определено в GHC.Ptr | |
| Ord p => Ord (Par1 p) | С версии: base-4.7.0.0 |
| Ord a => Ord (NonEmpty a) | С момента: base-4.9.0.0 |
Определено в GHC.Base Методыcompare :: NonEmpty a -> NonEmpty a -> Ordering Источник (<) :: NonEmpty a -> NonEmpty a -> Bool Источник (<=) :: NonEmpty a -> NonEmpty a -> Bool Источник (>) :: NonEmpty a -> NonEmpty a -> Bool Источник (>=) :: NonEmpty a -> NonEmpty a -> Bool Источник | |
| Ord a => Ord (Down a) | С момента: base-4.6.0.0 |
| Ord a => Ord (Product a) | С момента: base-2.1 |
Определено в Data.Semigroup.Internal Краткое описание методовcompare :: Product a -> Product a -> Ordering Source (<) :: Product a -> Product a -> Bool Source (<=) :: Product a -> Product a -> Bool Source (>) :: Product a -> Product a -> Bool Source (>=) :: Product a -> Product a -> Bool Source | |
| Ord a => Ord (Sum a) | С версии: base-2.1 |
Определено в Data.Semigroup.Internal | |
| Ord a => Ord (Dual a) | С версии: base-2.1 |
Определено в Data.Semigroup.Internal | |
| Ord a => Ord (Last a) | С версии: base-2.1 |
Определено в Data.Monoid Методыcompare :: Ap f a -> Ap f a -> Ordering Исходный код (<) :: Ap f a -> Ap f a -> Bool Исходный код (<=) :: Ap f a -> Ap f a -> Bool Исходный код (>) :: Ap f a -> Ap f a -> Bool Исходный код (>=) :: Ap f a -> Ap f a -> Bool Исходный код max :: Ap f a -> Ap f a -> Ap f a Исходный код min :: Ap f a -> Ap f a -> Ap f a Исходный код | |
| Ord a => Ord (Const a b) | С момента: base-4.9.0.0 |
Определено в Data.Functor.Const Методыcompare :: Const a b -> Const a b -> Ordering Исходный код (<) :: Const a b -> Const a b -> Bool Исходный код (<=) :: Const a b -> Const a b -> Bool Исходный код (>) :: Const a b -> Const a b -> Bool Исходный код (>=) :: Const a b -> Const a b -> Bool Исходный код max :: Const a b -> Const a b -> Const a b Исходный код min :: Const a b -> Const a b -> Const a b Исходный код | |
| Ord c => Ord (K1 i c p) | С момента: base-4.7.0.0 |
Определено в GHC.Generics Методыcompare :: K1 i c p -> K1 i c p -> Ordering Исходный код (<) :: K1 i c p -> K1 i c p -> Bool Исходный код (<=) :: K1 i c p -> K1 i c p -> Bool Исходный код (>) :: K1 i c p -> K1 i c p -> Bool Исходный код (>=) :: K1 i c p -> K1 i c p -> Bool Исходный код max :: K1 i c p -> K1 i c p -> K1 i c p Исходный код min :: K1 i c p -> K1 i c p -> K1 i c p Исходный код | |
| (Ord (f p), Ord (g p)) => Ord ((f :+: g) p) | С момента: base-4.7.0.0 |
Определено в GHC.Generics Методыcompare :: (f :+: g) p -> (f :+: g) p -> Ordering Исходный код (<) :: (f :+: g) p -> (f :+: g) p -> Bool Исходный код (<=) :: (f :+: g) p -> (f :+: g) p -> Bool Исходный код (>) :: (f :+: g) p -> (f :+: g) p -> Bool Исходный код (>=) :: (f :+: g) p -> (f :+: g) p -> Bool Исходный код max :: (f :+: g) p -> (f :+: g) p -> (f :+: g) p Исходный код min :: (f :+: g) p -> (f :+: g) p -> (f :+: g) p Исходный код | |
| (Ord (f p), Ord (g p)) => Ord ((f :*: g) p) | С момента: base-4.7.0.0 |
Определено в GHC.Generics Методыcompare :: (f :*: g) p -> (f :*: g) p -> Ordering Исходный код (<) :: (f :*: g) p -> (f :*: g) p -> Bool Исходный код (<=) :: (f :*: g) p -> (f :*: g) p -> Bool Исходный код (>) :: (f :*: g) p -> (f :*: g) p -> Bool Исходный код (>=) :: (f :*: g) p -> (f :*: g) p -> Bool Исходный код max :: (f :*: g) p -> (f :*: g) p -> (f :*: g) p Исходный код min :: (f :*: g) p -> (f :*: g) p -> (f :*: g) p Исходный код | |
| (Ord a, Ord b, Ord c, Ord d) => Ord (a, b, c, d) | |
Определено в GHC.Classes Методыcompare :: (a, b, c, d) -> (a, b, c, d) -> Ordering Исходный код (<) :: (a, b, c, d) -> (a, b, c, d) -> Bool Исходный код (<=) :: (a, b, c, d) -> (a, b, c, d) -> Bool Исходный код (>) :: (a, b, c, d) -> (a, b, c, d) -> Bool Исходный код (>=) :: (a, b, c, d) -> (a, b, c, d) -> Bool Исходный код max :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) Исходный код min :: (a, b, c, d) -> (a, b, c, d) -> (a, b, c, d) Исходный код | |
| Ord (a :~~: b) | С момента: base-4.10.0.0 |
Определено в Data.Type.Equality Методыcompare :: (a :~~: b) -> (a :~~: b) -> Ordering Исходный код (<) :: (a :~~: b) -> (a :~~: b) -> Bool Исходный код (<=) :: (a :~~: b) -> (a :~~: b) -> Bool Исходный код (>) :: (a :~~: b) -> (a :~~: b) -> Bool Исходный код (>=) :: (a :~~: b) -> (a :~~: b) -> Bool Исходный код max :: (a :~~: b) -> (a :~~: b) -> a :~~: b Исходный код min :: (a :~~: b) -> (a :~~: b) -> a :~~: b Исходный код | |
| (Ord1 f, Ord1 g, Ord a) => Ord (Sum f g a) | С момента: base-4.9.0.0 |
Определено в Data.Functor.Sum Методыcompare :: Sum f g a -> Sum f g a -> Ordering Исходный код (<) :: Sum f g a -> Sum f g a -> Bool Исходный код (<=) :: Sum f g a -> Sum f g a -> Bool Исходный код (>) :: Sum f g a -> Sum f g a -> Bool Исходный код (>=) :: Sum f g a -> Sum f g a -> Bool Исходный код max :: Sum f g a -> Sum f g a -> Sum f g a Исходный код min :: Sum f g a -> Sum f g a -> Sum f g a Исходный код | |
| (Ord1 f, Ord1 g, Ord a) => Ord (Product f g a) | С момента: base-4.9.0.0 |
Определено в Data.Functor.Product Методыcompare :: Product f g a -> Product f g a -> Ordering Исходный код (<) :: Product f g a -> Product f g a -> Bool Исходный код (<=) :: Product f g a -> Product f g a -> Bool Исходный код (>) :: Product f g a -> Product f g a -> Bool Исходный код (>=) :: Product f g a -> Product f g a -> Bool Исходный код max :: Product f g a -> Product f g a -> Product f g a Исходный код min :: Product f g a -> Product f g a -> Product f g a Исходный код | |
| Ord (f p) => Ord (M1 i c f p) | С момента: base-4.7.0.0 |
Определено в GHC.Generics Методыcompare :: M1 i c f p -> M1 i c f p -> Ordering Источник (<) :: M1 i c f p -> M1 i c f p -> Bool Источник (<=) :: M1 i c f p -> M1 i c f p -> Bool Источник (>) :: M1 i c f p -> M1 i c f p -> Bool Источник (>=) :: M1 i c f p -> M1 i c f p -> Bool Источник | |
| Ord (f (g p)) => Ord ((f :.: g) p) | С момента: base-4.7.0.0 |
Определено в GHC.Generics Методыcompare :: (f :.: g) p -> (f :.: g) p -> Ordering Источник (<) :: (f :.: g) p -> (f :.: g) p -> Bool Источник (<=) :: (f :.: g) p -> (f :.: g) p -> Bool Источник (>) :: (f :.: g) p -> (f :.: g) p -> Bool Источник (>=) :: (f :.: g) p -> (f :.: g) p -> Bool Источник | |
| (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e) | |
Определено в GHC.Classes Методыcompare :: (a, b, c, d, e) -> (a, b, c, d, e) -> Ordering Источник (<) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool Источник (<=) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool Источник (>) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool Источник (>=) :: (a, b, c, d, e) -> (a, b, c, d, e) -> Bool Источник max :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) Источник min :: (a, b, c, d, e) -> (a, b, c, d, e) -> (a, b, c, d, e) Источник | |
| (Ord1 f, Ord1 g, Ord a) => Ord (Compose f g a) | С момента: base-4.9.0.0 |
Определено в Data.Functor.Compose Методыcompare :: Compose f g a -> Compose f g a -> Ordering Исходный код (<) :: Compose f g a -> Compose f g a -> Bool Исходный код (<=) :: Compose f g a -> Compose f g a -> Bool Исходный код (>) :: Compose f g a -> Compose f g a -> Bool Исходный код (>=) :: Compose f g a -> Compose f g a -> Bool Исходный код max :: Compose f g a -> Compose f g a -> Compose f g a Исходный код min :: Compose f g a -> Compose f g a -> Compose f g a Исходный код | |
| (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f) => Ord (a, b, c, d, e, f) | |
Определено в GHC.Classes Методыcompare :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Ordering Исходный код (<) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool Исходный код (<=) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool Исходный код (>) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool Исходный код (>=) :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> Bool Исходный код max :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> (a, b, c, d, e, f) Исходный код min :: (a, b, c, d, e, f) -> (a, b, c, d, e, f) -> (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) | |
Определено в GHC.Classes Методыcompare :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Ordering Исходный код (<) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool Исходный код (<=) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool Исходный код (>) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool Исходный код (>=) :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> Bool Исходный код max :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) Исходный код min :: (a, b, c, d, e, f, g) -> (a, b, c, d, e, f, g) -> (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) | |
Определено в GHC.Classes Краткое описание методовcompare :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Ordering Source (<) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool Source (<=) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool Source (>) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool Source (>=) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool Source max :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) Source min :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) Source | |
| (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) | |
Определено в GHC.Classes Краткое описание методовcompare :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Ordering Source (<) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool Source (<=) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool Source (>) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool Source (>=) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool Source max :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) Source min :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) Source | |
| (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) | |
Определено в GHC.Classes Краткое описание методовcompare :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Ordering Source (<) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool Source (<=) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool Source (>) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool Source (>=) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool Source max :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) Source min :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) Source | |
| (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) | |
Определено в GHC.Classes Краткое описание методовcompare :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Ordering Source (<) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool Source (<=) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool Source (>) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool Source (>=) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool Source max :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) Source min :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) Source | |
| (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) | |
Определено в GHC.Classes Краткое описание методовcompare :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Ordering Source (<) :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Bool Source (<=) :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Bool Source (>) :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Bool Source (>=) :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> Bool Source max :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) Source min :: (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) -> (a, b, c, d, e, f, g, h, i, j, k, l) Source | |
| (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) | |
Определено в GHC.Classes Краткое описание методовcompare :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Ordering Source (<) :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Bool Source (<=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Bool Source (>) :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Bool Source (>=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> Bool Source max :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) Source min :: (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) -> (a, b, c, d, e, f, g, h, i, j, k, l, m) Source | |
| (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) | |
Определено в GHC.Classes Методыcompare :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Порядок Исходный код (<) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Булево Исходный код (<=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Булево Исходный код (>) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Булево Исходный код (>=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> Булево Исходный код max :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) Исходный код min :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n) -> (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) | |
Определено в GHC.Classes Методыcompare :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Порядок Исходный код (<) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Булево Исходный код (<=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Булево Исходный код (>) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Булево Исходный код (>=) :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> Булево Исходный код max :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Исходный код min :: (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) -> (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) Исходный код | |
data Порядок Исходный код
Примеры использования
| Bounded Ordering | С версии: base-2.1 |
| Enum Ordering | С версии: base-2.1 |
Определено в GHC.Enum Методыsucc :: Ordering -> Ordering Источник pred :: Ordering -> Ordering Источник toEnum :: Int -> Ordering Источник fromEnum :: Ordering -> Int Источник enumFrom :: Ordering -> [Ordering] Источник enumFromThen :: Ordering -> Ordering -> [Ordering] Источник enumFromTo :: Ordering -> Ordering -> [Ordering] Источник enumFromThenTo :: Ordering -> Ordering -> Ordering -> [Ordering] Источник | |
| Eq Ordering | |
| Data Ordering | С версии: base-4.0.0.0 |
newtype Down a Исходный код
Тип Down позволяет удобно изменять порядок сортировки. Значение типа Down a содержит значение типа a (представленное как Down a). Если для a существует экземпляр Ord, то сравнение двух обернутых таким образом значений даст обратный порядок их обычной сортировки. Это особенно полезно при сортировке в обобщенных списках с использованием генераторов, например: then sortWith by Down x
С момента: base-4.6.0.0
Экземпляры
| Monad Down | Since: base-4.11.0.0 |
| Functor Down | Since: base-4.11.0.0 |
| MonadFix Down | Since: base-4.12.0.0 |
Определено в Control.Monad.Fix | |
| Applicative Down | Since: base-4.11.0.0 |
| Foldable Down | Since: base-4.12.0.0 |
Определено в Data.Foldable Методыfold :: Monoid m => Down m -> m Source foldMap :: Monoid m => (a -> m) -> Down a -> m Source foldMap' :: Monoid m => (a -> m) -> Down a -> m Source foldr :: (a -> b -> b) -> b -> Down a -> b Source foldr' :: (a -> b -> b) -> b -> Down a -> b Source foldl :: (b -> a -> b) -> b -> Down a -> b Source foldl' :: (b -> a -> b) -> b -> Down a -> b Source foldr1 :: (a -> a -> a) -> Down a -> a Source foldl1 :: (a -> a -> a) -> Down a -> a Source toList :: Down a -> [a] Source length :: Down a -> Int Source elem :: Eq a => a -> Down a -> Bool Source maximum :: Ord a => Down a -> a Source minimum :: Ord a => Down a -> a Source | |
| Traversable Down | Since: base-4.12.0.0 |
| MonadZip Down | С версии: base-4.12.0.0 |
| Show1 Down | С версии: base-4.12.0.0 |
| Read1 Down | С версии: base-4.12.0.0 |
Определено в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Down a) Source liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Down a] Source liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Down a) Source liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Down a] Source | |
| Ord1 Down | С версии: base-4.12.0.0 |
Определено в Data.Functor.Classes | |
| Eq1 Down | С версии: base-4.12.0.0 |
| Bounded a => Bounded (Down a) | С версии: base-4.14.0.0 |
| Enum a => Enum (Down a) | С версии: base-4.14.0.0 |
Определено в Data.Ord Методы(/) :: Down a -> Down a -> Down a Исходный код recip :: Down a -> Down a Исходный код fromRational :: Rational -> Down a Исходный код | |
| Integral a => Integral (Down a) | С момента: base-4.14.0.0 |
Определено в Data.Ord Методыquot :: Down a -> Down a -> Down a Исходный код rem :: Down a -> Down a -> Down a Исходный код div :: Down a -> Down a -> Down a Исходный код mod :: Down a -> Down a -> Down a Исходный код quotRem :: Down a -> Down a -> (Down a, Down a) Исходный код divMod :: Down a -> Down a -> (Down a, Down a) Исходный код toInteger :: Down a -> Integer Исходный код | |
| Data a => Data (Down a) | С момента: base-4.12.0.0 |
Определено в Data.Data Методыgfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Down a -> c (Down a) Исходный код gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Down a) Исходный код toConstr :: Down a -> Constr Исходный код dataTypeOf :: Down a -> DataType Исходный код dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Down a)) Исходный код dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Down a)) Исходный код | |
| Num a => Num (Down a) | С момента: base-4.11.0.0 |
| Generic (Down a) | Since: base-4.12.0.0 |
Определено в GHC.Generics Связанные типыtype Rep (Down a) :: Тип -> Тип Исходный код | |
| Semigroup a => Semigroup (Down a) | Since: base-4.11.0.0 |
| Monoid a => Monoid (Down a) | Since: base-4.11.0.0 |
Определено в Data.Ord Методыmempty :: Down a Исходный код mappend :: Down a -> Down a -> Down a Исходный код mconcat :: [Down a] -> Down a Исходный код | |
| FiniteBits a => FiniteBits (Down a) | Since: base-4.14.0.0 |
Определено в Data.Ord МетодыfiniteBitSize :: Down a -> Int Исходный код countLeadingZeros :: Down a -> Int Исходный код countTrailingZeros :: Down a -> Int Исходный код | |
| Bits a => Bits (Down a) | Since: base-4.14.0.0 |
| Generic1 Down | Since: base-4.12.0.0 |
Определено в GHC.Generics Связанные типыtype Rep1 Down :: k -> Type Исходный код Методыfrom1 :: forall (a :: k). Down a -> Rep1 Down a Исходный код to1 :: forall (a :: k). Rep1 Down a -> Down a Исходный код | |
| type Rep (Down a) | |
Определено в GHC.Generics | |
| type Rep1 Down | |
Определено в GHC.Generics | |
comparing :: Ord a => (b -> a) -> b -> b -> Ordering Исходный код
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/8.10.2/docs/html/libraries/base-4.14.1.0/Data-Ord.html