Data.Ord
| Авторские права | (c) Университет Глазго, 2005 |
|---|---|
| Лицензия | В стиле BSD (см. файл libraries/base/LICENSE) |
| Сопровождающий | libraries@haskell.org |
| Стабильность | стабильный |
| Переносимость | переносимый |
| Безопасный Haskell | безопасный |
| Язык | Haskell2010 |
Описание
Порядки
class Eq a => Ord a where Исходный код
Класс Ord используется для типов данных с линейным порядком.
Экземпляры Ord можно автоматически выводить для любого определённого пользователем типа данных, составляющие типы которого принадлежат Ord. Порядок объявления конструкторов в объявлении типа данных определяет порядок в автоматически выведенных экземплярах Ord. Тип данных Ordering позволяет определить точный порядок двух объектов с помощью одного сравнения.
Ord, определённый в отчёте Haskell, задаёт линейный порядок и обладает следующими свойствами:
- Сравнимость
-
x <= y || y <= x=True - Транзитивность
- если
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 возвращали один из своих аргументов. Требуется лишь, чтобы результат был равен одному из аргументов согласно (==). Пользователям, которым нужны более строгие гарантии, рекомендуется написать собственные функции min и/или max.
Разработчики не всегда в полной мере учитывают этот нюанс; в прошлом (начиная с отчёта Haskell 1.4) спецификация Ord устанавливала более строгое свойство: (min x y, max x
y) = (x, y) или (y, x), или, другими словами, min и max будут возвращать один из своих аргументов, используя порядок аргументов для разрешения равенства, если аргументы равны при сравнении. Поведение некоторых функций для списков и Foldable проще всего понять, исходя из этого предположения: все варианты minimumBy и maximumBy (которые не могут использовать min и max в своих реализациях) написаны так, что minimumBy compare и maximumBy compare соответственно эквивалентны minimum и maximum (которые используют min и max), только если min и max соблюдают это соглашение о разрешении равенства. В противном случае, если в контейнере несколько наименьших или наибольших элементов, minimum и maximum могут вернуть не тот же элемент, что minimumBy compare и maximumBy compare (хотя возвращаемые значения должны быть равны). Это важно для типов с неэкстенсиональным равенством, таких как Arg, а также в случаях, когда важна точная ссылка, например, по причинам, связанным с управлением памятью. Если нет причин поступать иначе, разработчикам экземпляров Ord лучше придерживаться того же соглашения (как это делают определения 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 Исходный код
Экземпляры
Определено в GHC.Internal.Foreign.C.Types | |
| Ord CIntPtr Источник | |
Определено в GHC.Internal.Foreign.C.Types | |
| Ord CLLong Источник | |
Определено в GHC.Internal.Foreign.C.Types | |
| Ord CLong Источник | |
Определено в GHC.Internal.Foreign.C.Types | |
| Ord CPtrdiff Источник | |
Определено в GHC.Internal.Foreign.C.Types | |
| Ord CSChar Источник | |
Определено в GHC.Internal.Foreign.C.Types | |
| Ord CSUSeconds Источник | |
Определено в GHC.Internal.Foreign.C.Types Методыcompare :: CSUSeconds -> CSUSeconds -> Ordering Источник (<) :: CSUSeconds -> CSUSeconds -> Bool Источник (<=) :: CSUSeconds -> CSUSeconds -> Bool Источник (>) :: CSUSeconds -> CSUSeconds -> Bool Источник (>=) :: CSUSeconds -> CSUSeconds -> Bool Источник max :: CSUSeconds -> CSUSeconds -> CSUSeconds Источник min :: CSUSeconds -> CSUSeconds -> CSUSeconds Источник | |
| Ord CShort Источник | |
Определено в GHC.Internal.Foreign.C.Types | |
| Ord CSigAtomic Источник | |
Определено в GHC.Internal.System.Posix.Types | |
| Ord CCc Источник | |
Определено в GHC.Internal.System.Posix.Types | |
| Ord CClockId Источник | |
Определено в GHC.Internal.System.Posix.Types | |
| Ord CDev Источник | |
Определено в GHC.Internal.System.Posix.Types | |
| Ord CFsBlkCnt Источник | |
Определено в GHC.Internal.System.Posix.Types Методыcompare :: CFsBlkCnt -> CFsBlkCnt -> Ordering Источник (<) :: CFsBlkCnt -> CFsBlkCnt -> Bool Источник (<=) :: CFsBlkCnt -> CFsBlkCnt -> Bool Источник (>) :: CFsBlkCnt -> CFsBlkCnt -> Bool Источник (>=) :: CFsBlkCnt -> CFsBlkCnt -> Bool Источник | |
| Ord CFsFilCnt Источник | |
Определено в GHC.Internal.System.Posix.Types | |
| Ord CNfds Источник | |
Определено в GHC.Internal.System.Posix.Types | |
| Ord CNlink Источник | |
Определено в GHC.Internal.System.Posix.Types | |
| Ord COff Источник | |
Определено в GHC.Internal.System.Posix.Types | |
| Ord CPid Источник | |
Определено в GHC.Internal.System.Posix.Types | |
| Ord CRLim Источник | |
Определено в GHC.Internal.System.Posix.Types | |
| Ord CSocklen Источник | |
Определено в GHC.Internal.System.Posix.Types | |
| Ord CSpeed Источник | |
Определено в GHC.Internal.System.Posix.Types | |
| Ord CSsize Источник | |
Определено в GHC.Internal.System.Posix.Types | |
| Ord CTcflag Источник | |
Определено в GHC.Internal.System.Posix.Types | |
| Ord CTimer Источник | |
Определено в GHC.Internal.TH.Syntax | |
| Ord BndrVis Источник | |
Определено в GHC.Internal.TH.Syntax | |
| Ord Body Источник | |
Определено в GHC.Internal.TH.Syntax | |
| Ord Bytes Источник | |
Определено в GHC.Internal.TH.Syntax | |
| Ord Callconv Источник | |
Определено в GHC.Internal.TH.Syntax | |
| Ord Clause Источник | |
Определено в GHC.Internal.TH.Syntax | |
Определено в GHC.Internal.TH.Syntax | |
| Ord Lit Источник | |
| Ord Loc Источник | |
| Ord Match Источник | |
Определено в GHC.Internal.TH.Syntax | |
| Ord ModName Источник | |
Определено в GHC.Internal.TH.Syntax | |
| Ord Module Источник | |
Определено в GHC.Internal.TH.Syntax | |
Определено в GHC.Internal.TH.Syntax | |
| Ord Overlap Источник | |
Определено в GHC.Internal.TH.Syntax | |
| Ord Pat Источник | |
| Ord PatSynArgs Источник | |
Определено в GHC.Internal.TH.Syntax Методыcompare :: PatSynArgs -> PatSynArgs -> Ordering Источник (<) :: PatSynArgs -> PatSynArgs -> Bool Источник (<=) :: PatSynArgs -> PatSynArgs -> Bool Источник (>) :: PatSynArgs -> PatSynArgs -> Bool Источник (>=) :: PatSynArgs -> PatSynArgs -> Bool Источник max :: PatSynArgs -> PatSynArgs -> PatSynArgs Источник min :: PatSynArgs -> PatSynArgs -> PatSynArgs Источник | |
| Ord PatSynDir Источник | |
Определено в GHC.Internal.TH.Syntax Методыcompare :: PatSynDir -> PatSynDir -> Ordering Источник (<) :: PatSynDir -> PatSynDir -> Bool Источник (<=) :: PatSynDir -> PatSynDir -> Bool Источник (>) :: PatSynDir -> PatSynDir -> Bool Источник (>=) :: PatSynDir -> PatSynDir -> Bool Источник | |
| Ord Phases Источник | |
Определено в GHC.Internal.TH.Syntax | |
| Ord PkgName Источник | |
Определено в GHC.Internal.TH.Syntax | |
| Ord Pragma Источник | |
Определено в GHC.Internal.TH.Syntax | |
| Ord Range Источник | |
Определено в GHC.Internal.TH.Syntax | |
| Ord Role Источник | |
Определено в GHC.Internal.TH.Syntax | |
| Ord RuleBndr Источник | |
Определено в GHC.Internal.TH.Syntax Методыcompare :: Specificity -> Specificity -> Ordering Источник (<) :: Specificity -> Specificity -> Bool Источник (<=) :: Specificity -> Specificity -> Bool Источник (>) :: Specificity -> Specificity -> Bool Источник (>=) :: Specificity -> Specificity -> Bool Источник max :: Specificity -> Specificity -> Specificity Источник min :: Specificity -> Specificity -> Specificity Источник | |
| Ord Stmt Источник | |
Определено в GHC.Internal.TH.Syntax | |
| Ord TyLit Источник | |
Определено в GHC.Internal.TH.Syntax | |
| Ord TySynEqn Источник | |
Определено в GHC.Internal.TH.Syntax | |
| Ord Type Источник | |
Определено в GHC.Internal.TH.Syntax | |
| Ord TypeFamilyHead Источник | |
| Ord Word64 Источник | Начиная с: base-2.1 |
| Ord Word8 Источник | Начиная с: base-2.1 |
Определён в GHC.Internal.Word | |
| Ord Integer Источник | |
Определён в GHC.Internal.Bignum.Integer | |
| Ord Natural Источник | |
Определён в GHC.Internal.Bignum.Natural | |
| Ord () Источник | |
| Ord Bool Источник | |
Определён в GHC.Internal.Classes | |
| Ord Char Источник | |
Определён в GHC.Internal.Classes | |
| Ord Double Источник |
Тип с точностью Раздел 5.11 стандарта IEEE 754-2008 требует, чтобы, если хотя бы один из аргументов Раздел 5.10 стандарта IEEE 754-2008 определяет предикат Поэтому при использовании Кроме того, поведение Реализации |
Определён в GHC.Internal.Generics Методыcompare :: URec Float p -> URec Float p -> Ordering Источник (<) :: URec Float p -> URec Float p -> Bool Источник (<=) :: URec Float p -> URec Float p -> Bool Источник (>) :: URec Float p -> URec Float p -> Bool Источник (>=) :: URec Float p -> URec Float p -> Bool Источник max :: URec Float p -> URec Float p -> URec Float p Источник min :: URec Float p -> URec Float p -> URec Float p Источник | |
| Ord (URec Int p) Источник | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Generics Методыcompare :: URec Int p -> URec Int p -> Ordering Источник (<) :: URec Int p -> URec Int p -> Bool Источник (<=) :: URec Int p -> URec Int p -> Bool Источник (>) :: URec Int p -> URec Int p -> Bool Источник (>=) :: URec Int p -> URec Int p -> Bool Источник | |
| Ord (URec Word p) Источник | Начиная с: base-4.9.0.0 |
Определён в GHC.Internal.Generics Методыcompare :: URec Word p -> URec Word p -> Ordering Источник (<) :: URec Word p -> URec Word p -> Bool Источник (<=) :: URec Word p -> URec Word p -> Bool Источник (>) :: URec Word p -> URec Word p -> Bool Источник (>=) :: URec Word p -> URec Word p -> Bool Источник | |
| (Ord a, Ord b, Ord c) => Ord (a, b, c) Источник | |
Определён в GHC.Internal.Classes Методыcompare :: (a, b, c) -> (a, b, c) -> Ordering Источник (<) :: (a, b, c) -> (a, b, c) -> Bool Источник (<=) :: (a, b, c) -> (a, b, c) -> Bool Источник (>) :: (a, b, c) -> (a, b, c) -> Bool Источник (>=) :: (a, b, c) -> (a, b, c) -> Bool Источник | |
| (Ord (f a), Ord (g a)) => Ord (Product f g a) Источник | Начиная с: base-4.18.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 a), Ord (g a)) => Ord (Sum f g a) Источник | Начиная с: base-4.18.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 Источник | |
| Ord (a :~~: b) Источник | Начиная с: base-4.10.0.0 |
Определён в GHC.Internal.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 Источник | |
| (Ord (f p), Ord (g p)) => Ord ((f :*: g) p) Источник | Начиная с: base-4.7.0.0 |
Определён в GHC.Internal.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 (f p), Ord (g p)) => Ord ((f :+: g) p) Исходный код | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.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 c => Ord (K1 i c p) Исходный код | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.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 a, Ord b, Ord c, Ord d) => Ord (a, b, c, d) Исходный код | |
Определено в GHC.Internal.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 (f (g a)) => Ord (Compose f g a) Исходный код | Начиная с: base-4.18.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 (f (g p)) => Ord ((f :.: g) p) Исходный код | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.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 (M1 i c f p) Исходный код | Начиная с: base-4.7.0.0 |
Определено в GHC.Internal.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 Исходный код max :: M1 i c f p -> M1 i c f p -> M1 i c f p Исходный код min :: M1 i c f p -> M1 i c f p -> M1 i c f p Исходный код | |
| (Ord a, Ord b, Ord c, Ord d, Ord e) => Ord (a, b, c, d, e) Исходный код | |
Определено в GHC.Internal.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) Исходный код | |
| (Ord a, Ord b, Ord c, Ord d, Ord e, Ord f) => Ord (a, b, c, d, e, f) Исходный код | |
Определено в GHC.Internal.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.Internal.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.Internal.Classes Методыcompare :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Ordering Исходный код (<) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool Исходный код (<=) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool Исходный код (>) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool Исходный код (>=) :: (a, b, c, d, e, f, g, h) -> (a, b, c, d, e, f, g, h) -> Bool Исходный код 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) Исходный код 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) Исходный код | |
| (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.Internal.Classes Методыcompare :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Ordering Исходный код (<) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool Исходный код (<=) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool Исходный код (>) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool Исходный код (>=) :: (a, b, c, d, e, f, g, h, i) -> (a, b, c, d, e, f, g, h, i) -> Bool Исходный код 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) Исходный код 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) Исходный код | |
| (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.Internal.Classes Методыcompare :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Ordering Исходный код (<) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool Исходный код (<=) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool Исходный код (>) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool Исходный код (>=) :: (a, b, c, d, e, f, g, h, i, j) -> (a, b, c, d, e, f, g, h, i, j) -> Bool Исходный код 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) Исходный код 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) Исходный код | |
| (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.Internal.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 Исходный код (<) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool Исходный код (<=) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool Исходный код (>) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool Исходный код (>=) :: (a, b, c, d, e, f, g, h, i, j, k) -> (a, b, c, d, e, f, g, h, i, j, k) -> Bool Исходный код 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) Исходный код 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) Исходный код | |
| (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.Internal.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 Исходный код (<) :: (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 Исходный код (<=) :: (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 Исходный код (>) :: (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 Исходный код (>=) :: (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 Исходный код 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) Исходный код 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) Исходный код | |
| (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.Internal.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 Исходный код (<) :: (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 Исходный код (<=) :: (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 Исходный код (>) :: (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 Исходный код (>=) :: (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 Исходный код 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) Исходный код 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) Исходный код | |
| (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.Internal.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) -> Ordering Исходный код (<) :: (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) -> Bool Исходный код (<=) :: (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) -> Bool Исходный код (>) :: (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) -> Bool Исходный код (>=) :: (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) -> Bool Исходный код 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.Internal.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) -> Ordering Исходный код (<) :: (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) -> Bool Исходный код (<=) :: (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) -> Bool Исходный код (>) :: (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) -> Bool Исходный код (>=) :: (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) -> Bool Исходный код 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 Ordering Исходный код
Экземпляры
Определено в GHC.Internal.Show МетодыshowsPrec :: Int -> Ordering -> ShowS Исходный код show :: Ordering -> String Исходный код showList :: [Ordering] -> ShowS Исходный код | |
| type Rep Ordering Исходный код | С версии: base-4.6.0.0 |
Определено в GHC.Internal.Generics | |
newtype Down a Исходный код
Тип Down позволяет удобно изменять порядок сортировки на обратный. Значение типа Down a содержит значение типа a (представленное как Down a).
Если для a имеется экземпляр Ord, то сравнение двух обёрнутых таким образом значений даст порядок, обратный обычному порядку сортировки. Это особенно полезно при сортировке в обобщённых списковых включениях, например: then sortWith by Down x.
>>> compare True False GT
>>> compare (Down True) (Down False) LT
Если для a имеется экземпляр Bounded, то соответствующий экземпляр для обёрнутого типа также учитывает обратный порядок, меняя местами значения minBound и maxBound.
>>> minBound :: Int -9223372036854775808
>>> minBound :: Down Int Down 9223372036854775807
Все остальные экземпляры Down a ведут себя так же, как и для a.
С версии: base-4.6.0.0
Экземпляры
| Foldable1 Down Исходный код | С версии: base-4.18.0.0 |
Определён в Data.Foldable1 Методыfold1 :: Semigroup m => Down m -> m Исходный код foldMap1 :: Semigroup m => (a -> m) -> Down a -> m Исходный код foldMap1' :: Semigroup m => (a -> m) -> Down a -> m Исходный код toNonEmpty :: Down a -> NonEmpty a Исходный код maximum :: Ord a => Down a -> a Исходный код minimum :: Ord a => Down a -> a Исходный код head :: Down a -> a Исходный код last :: Down a -> a Исходный код foldrMap1 :: (a -> b) -> (a -> b -> b) -> Down a -> b Исходный код foldlMap1' :: (a -> b) -> (b -> a -> b) -> Down a -> b Исходный код foldlMap1 :: (a -> b) -> (b -> a -> b) -> Down a -> b Исходный код foldrMap1' :: (a -> b) -> (a -> b -> b) -> Down a -> b Исходный код | |
| Eq1 Down Исходный код | С версии: base-4.12.0.0 |
Определён в Data.Functor.Classes | |
| Ord1 Down Исходный код | С версии: base-4.12.0.0 |
Определён в Data.Functor.Classes МетодыliftCompare :: (a -> b -> Ordering) -> Down a -> Down b -> Ordering Исходный код | |
| Read1 Down Исходный код | С версии: base-4.12.0.0 |
Определён в Data.Functor.Classes МетодыliftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Down a) Исходный код liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Down a] Исходный код liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Down a) Исходный код liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Down a] Исходный код | |
| Show1 Down Исходный код | С версии: base-4.12.0.0 |
Определён в Data.Functor.Classes МетодыliftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Down a -> ShowS Исходный код liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Down a] -> ShowS Исходный код | |
| Applicative Down Исходный код | С версии: base-4.11.0.0 |
Определён в GHC.Internal.Data.Ord Методыpure :: a -> Down a Исходный код (<*>) :: Down (a -> b) -> Down a -> Down b Исходный код liftA2 :: (a -> b -> c) -> Down a -> Down b -> Down c Исходный код (*>) :: Down a -> Down b -> Down b Исходный код (<*) :: Down a -> Down b -> Down a Исходный код | |
| Functor Down Исходный код | С версии: base-4.11.0.0 |
Определён в GHC.Internal.Data.Ord | |
| Monad Down Исходный код | С версии: base-4.11.0.0 |
Определён в GHC.Internal.Data.Ord Методы(>>=) :: Down a -> (a -> Down b) -> Down b Исходный код (>>) :: Down a -> Down b -> Down b Исходный код return :: a -> Down a Исходный код | |
| MonadFix Down Исходный код | С версии: base-4.12.0.0 |
Определён в GHC.Internal.Control.Monad.Fix Методыmfix :: (a -> Down a) -> Down a Исходный код | |
| MonadZip Down Исходный код | С версии: ghc-internal-4.12.0.0 |
Определён в GHC.Internal.Control.Monad.Zip Методыmzip :: Down a -> Down b -> Down (a, b) Исходный код mzipWith :: (a -> b -> c) -> Down a -> Down b -> Down c Исходный код munzip :: Down (a, b) -> (Down a, Down b) Исходный код | |
| Foldable Down Исходный код | С версии: base-4.12.0.0 |
Определён в GHC.Internal.Data.Foldable Методыfold :: Monoid m => Down m -> m Исходный код foldMap :: Monoid m => (a -> m) -> Down a -> m Исходный код foldMap' :: Monoid m => (a -> m) -> Down a -> m Исходный код foldr :: (a -> b -> b) -> b -> Down a -> b Исходный код foldr' :: (a -> b -> b) -> b -> Down a -> b Исходный код foldl :: (b -> a -> b) -> b -> Down a -> b Исходный код foldl' :: (b -> a -> b) -> b -> Down a -> b Исходный код foldr1 :: (a -> a -> a) -> Down a -> a Исходный код foldl1 :: (a -> a -> a) -> Down a -> a Исходный код toList :: Down a -> [a] Исходный код null :: Down a -> Bool Исходный код length :: Down a -> Int Исходный код elem :: Eq a => a -> Down a -> Bool Исходный код maximum :: Ord a => Down a -> a Исходный код minimum :: Ord a => Down a -> a Исходный код sum :: Num a => Down a -> a Исходный код product :: Num a => Down a -> a Исходный код | |
| Traversable Down Исходный код | С версии: base-4.12.0.0 |
Определён в GHC.Internal.Data.Traversable Методыtraverse :: Applicative f => (a -> f b) -> Down a -> f (Down b) Исходный код sequenceA :: Applicative f => Down (f a) -> f (Down a) Исходный код mapM :: Monad m => (a -> m b) -> Down a -> m (Down b) Исходный код sequence :: Monad m => Down (m a) -> m (Down a) Исходный код | |
| Generic1 Down Исходный код | |
Определено в GHC.Internal.Generics Ассоциированные типы
| |||||
| Monoid a => Monoid (Down a) Исходный код | Начиная с: base-4.11.0.0 |
||||
Определено в GHC.Internal.Data.Ord Методыmempty :: Down a Исходный код mappend :: Down a -> Down a -> Down a Исходный код mconcat :: [Down a] -> Down a Исходный код | |||||
| Semigroup a => Semigroup (Down a) Исходный код | Начиная с: base-4.11.0.0 |
||||
Определено в GHC.Internal.Data.Ord Методы(<>) :: Down a -> Down a -> Down a Исходный код sconcat :: NonEmpty (Down a) -> Down a Исходный код stimes :: Integral b => b -> Down a -> Down a Исходный код | |||||
| Bits a => Bits (Down a) Исходный код | Начиная с: base-4.14.0.0 |
||||
Определено в GHC.Internal.Data.Ord Методы(.&.) :: Down a -> Down a -> Down a Исходный код (.|.) :: Down a -> Down a -> Down a Исходный код xor :: Down a -> Down a -> Down a Исходный код complement :: Down a -> Down a Исходный код shift :: Down a -> Int -> Down a Исходный код rotate :: Down a -> Int -> Down a Исходный код zeroBits :: Down a Исходный код bit :: Int -> Down a Исходный код setBit :: Down a -> Int -> Down a Исходный код clearBit :: Down a -> Int -> Down a Исходный код complementBit :: Down a -> Int -> Down a Исходный код testBit :: Down a -> Int -> Bool Исходный код bitSizeMaybe :: Down a -> Maybe Int Исходный код bitSize :: Down a -> Int Исходный код isSigned :: Down a -> Bool Исходный код shiftL :: Down a -> Int -> Down a Исходный код unsafeShiftL :: Down a -> Int -> Down a Исходный код shiftR :: Down a -> Int -> Down a Исходный код unsafeShiftR :: Down a -> Int -> Down a Исходный код rotateL :: Down a -> Int -> Down a Исходный код rotateR :: Down a -> Int -> Down a Исходный код popCount :: Down a -> Int Исходный код | |||||
| FiniteBits a => FiniteBits (Down a) Исходный код | Начиная с: base-4.14.0.0 |
||||
Определено в GHC.Internal.Data.Ord МетодыfiniteBitSize :: Down a -> Int Исходный код countLeadingZeros :: Down a -> Int Исходный код countTrailingZeros :: Down a -> Int Исходный код | |||||
| Eq a => Eq (Down a) Исходный код | Начиная с: base-4.6.0.0 |
||||
Определено в GHC.Internal.Data.Ord | |||||
| Ord a => Ord (Down a) Исходный код | Начиная с: base-4.6.0.0 |
||||
Определено в GHC.Internal.Data.Ord Методыcompare :: Down a -> Down a -> Ordering Исходный код (<) :: Down a -> Down a -> Bool Исходный код (<=) :: Down a -> Down a -> Bool Исходный код (>) :: Down a -> Down a -> Bool Исходный код (>=) :: Down a -> Down a -> Bool Исходный код max :: Down a -> Down a -> Down a Исходный код min :: Down a -> Down a -> Down a Исходный код | |||||
| Data a => Data (Down a) Исходный код | Начиная с: base-4.12.0.0 |
||||
Определено в GHC.Internal.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)) Исходный код gmapT :: (forall b. Data b => b -> b) -> Down a -> Down a Исходный код gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Down a -> r Исходный код gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Down a -> r Исходный код gmapQ :: (forall d. Data d => d -> u) -> Down a -> [u] Исходный код gmapQi :: Int -> (forall d. Data d => d -> u) -> Down a -> u Исходный код gmapM :: Monad m => (forall d. Data d => d -> m d) -> Down a -> m (Down a) Исходный код gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Down a -> m (Down a) Исходный код gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Down a -> m (Down a) Исходный код | |||||
| Bounded a => Bounded (Down a) Исходный код |
Меняет местами Начиная с: base-4.14.0.0 |
||||
Определено в GHC.Internal.Data.Ord | |||||
| (Enum a, Bounded a, Eq a) => Enum (Down a) Исходный код |
Меняет местами Начиная с: base-4.18.0.0 |
||||
Определено в GHC.Internal.Data.Ord Методыsucc :: Down a -> Down a Исходный код pred :: Down a -> Down a Исходный код toEnum :: Int -> Down a Исходный код fromEnum :: Down a -> Int Исходный код enumFrom :: Down a -> [Down a] Исходный код enumFromThen :: Down a -> Down a -> [Down a] Исходный код enumFromTo :: Down a -> Down a -> [Down a] Исходный код enumFromThenTo :: Down a -> Down a -> Down a -> [Down a] Исходный код | |||||
| Floating a => Floating (Down a) Исходный код | Начиная с: base-4.14.0.0 |
||||
Определено в GHC.Internal.Data.Ord Методыpi :: Down a Исходный код exp :: Down a -> Down a Исходный код log :: Down a -> Down a Исходный код sqrt :: Down a -> Down a Исходный код (**) :: Down a -> Down a -> Down a Исходный код logBase :: Down a -> Down a -> Down a Исходный код sin :: Down a -> Down a Исходный код cos :: Down a -> Down a Исходный код tan :: Down a -> Down a Исходный код asin :: Down a -> Down a Исходный код acos :: Down a -> Down a Исходный код atan :: Down a -> Down a Исходный код sinh :: Down a -> Down a Исходный код cosh :: Down a -> Down a Исходный код tanh :: Down a -> Down a Исходный код asinh :: Down a -> Down a Исходный код acosh :: Down a -> Down a Исходный код atanh :: Down a -> Down a Исходный код log1p :: Down a -> Down a Исходный код expm1 :: Down a -> Down a Исходный код log1pexp :: Down a -> Down a Исходный код log1mexp :: Down a -> Down a Исходный код | |||||
| RealFloat a => RealFloat (Down a) Исходный код | Начиная с: base-4.14.0.0 |
||||
Определено в GHC.Internal.Data.Ord МетодыfloatRadix :: Down a -> Integer Исходный код floatDigits :: Down a -> Int Исходный код floatRange :: Down a -> (Int, Int) Исходный код decodeFloat :: Down a -> (Integer, Int) Исходный код encodeFloat :: Integer -> Int -> Down a Исходный код exponent :: Down a -> Int Исходный код significand :: Down a -> Down a Исходный код scaleFloat :: Int -> Down a -> Down a Исходный код isNaN :: Down a -> Bool Исходный код isInfinite :: Down a -> Bool Исходный код isDenormalized :: Down a -> Bool Исходный код isNegativeZero :: Down a -> Bool Исходный код isIEEE :: Down a -> Bool Исходный код atan2 :: Down a -> Down a -> Down a Исходный код | |||||
| Storable a => Storable (Down a) Исходный код | Начиная с: base-4.14.0.0 |
||||
Определено в GHC.Internal.Data.Ord МетодыsizeOf :: Down a -> Int Исходный код alignment :: Down a -> Int Исходный код peekElemOff :: Ptr (Down a) -> Int -> IO (Down a) Исходный код pokeElemOff :: Ptr (Down a) -> Int -> Down a -> IO () Исходный код peekByteOff :: Ptr b -> Int -> IO (Down a) Исходный код pokeByteOff :: Ptr b -> Int -> Down a -> IO () Исходный код | |||||
| Generic (Down a) Исходный код | |||||
Определено в GHC.Internal.Generics Связанные типы
| |||||
| Ix a => Ix (Down a) Исходный код | Начиная с: base-4.14.0.0 |
||||
Определено в GHC.Internal.Data.Ord Методыrange :: (Down a, Down a) -> [Down a] Исходный код index :: (Down a, Down a) -> Down a -> Int Исходный код unsafeIndex :: (Down a, Down a) -> Down a -> Int Исходный код inRange :: (Down a, Down a) -> Down a -> Bool Исходный код rangeSize :: (Down a, Down a) -> Int Исходный код unsafeRangeSize :: (Down a, Down a) -> Int Исходный код | |||||
| Num a => Num (Down a) Исходный код | Начиная с: base-4.11.0.0 |
||||
Определено в GHC.Internal.Data.Ord Методы(+) :: Down a -> Down a -> Down a Исходный код (-) :: Down a -> Down a -> Down a Исходный код (*) :: Down a -> Down a -> Down a Исходный код negate :: Down a -> Down a Исходный код abs :: Down a -> Down a Исходный код signum :: Down a -> Down a Исходный код fromInteger :: Integer -> Down a Исходный код | |||||
| Read a => Read (Down a) Исходный код |
Этот экземпляр был бы эквивалентен автоматически выведенным экземплярам нового типа Начиная с: base-4.7.0.0 |
||||
| Fractional a => Fractional (Down a) Источник | Начиная с: base-4.14.0.0 |
| Real a => Real (Down a) Источник | Начиная с: base-4.14.0.0 |
Определён в GHC.Internal.Data.Ord МетодыtoRational :: Down a -> Rational Источник | |
| RealFrac a => RealFrac (Down a) Источник | Начиная с: base-4.14.0.0 |
| Show a => Show (Down a) Источник |
Этот экземпляр был бы эквивалентен автоматически выведенным экземплярам нового типа Начиная с: base-4.7.0.0 |
| type Rep1 Down Источник | Начиная с: base-4.12.0.0 |
Определён в GHC.Internal.Generics | |
| type Rep (Down a) Источник | Начиная с: base-4.12.0.0 |
Определён в GHC.Internal.Generics | |
comparing :: Ord a => (b -> a) -> b -> b -> Ordering Источник
comparing p x y = compare (p x) (p y)
Полезный комбинатор для использования вместе с семейством функций xxxBy из Data.List, например:
... sortBy (comparing fst) ...
clamp :: Ord a => (a, a) -> a -> a Источник
clamp (low, high) a = min high (max a low)
Функция, обеспечивающая, чтобы значение a находилось в заданных включительных границах low и high. Если это так, a возвращается без изменений. В противном случае результатом будет low, если a <= low, или high, если high <= a.
При использовании clamp для Double и Float во втором аргументе распространяется NaN. То есть clamp (l,h) NaN = NaN, но clamp (NaN, NaN)
x = x.
>>> clamp (0, 10) 2 2
>>> clamp ('a', 'm') 'x'
'm'
Начиная с: base-4.16.0.0
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.14.1/docs/libraries/base-4.22.0.0-66f8/Data-Ord.html