Data.Type.Ord
| Лицензия | В стиле BSD (см. файл LICENSE в дистрибутиве) |
|---|---|
| Сопровождающий | libraries@haskell.org |
| Стабильность | стабильная |
| Переносимость | непереносимый |
| Безопасный Haskell | Безопасный |
| Язык | Haskell2010 |
Описание
Основные операции над порядками на уровне типов.
Начиная с: base-4.16.0.0
type Compare (a :: k) (b :: k) :: Ordering Исходный код
Compare выбирает ветвь в зависимости от рода аргументов, чтобы сравнить их с помощью Symbol или Nat.
Начиная с: base-4.16.0.0
Экземпляры
| type Compare (a :: Natural) (b :: Natural) Исходный код | |
Определён в GHC.Internal.Data.Type.Ord | |
| type Compare (a :: Char) (b :: Char) Исходный код | |
Определён в GHC.Internal.Data.Type.Ord | |
| type Compare (a :: Symbol) (b :: Symbol) Исходный код | |
Определён в GHC.Internal.Data.Type.Ord | |
data OrderingI (a :: k) (b :: k) where Исходный код
Тип данных порядка для литералов типов, предоставляющий доказательство их упорядочения.
Начиная с: base-4.16.0.0
Конструкторы
| LTI :: forall {k} (a :: k) (b :: k). Compare a b ~ 'LT => OrderingI a b | |
| EQI :: forall {k} (a :: k). Compare a a ~ 'EQ => OrderingI a a | |
| GTI :: forall {k} (a :: k) (b :: k). Compare a b ~ 'GT => OrderingI a b |
Экземпляры
| Eq (OrderingI a b) Исходный код | |
Определён в GHC.Internal.Data.Type.Ord Методы(==) :: OrderingI a b -> OrderingI a b -> Bool Исходный код (/=) :: OrderingI a b -> OrderingI a b -> Bool Исходный код | |
| Show (OrderingI a b) Исходный код | |
Определён в GHC.Internal.Data.Type.Ord МетодыshowsPrec :: Int -> OrderingI a b -> ShowS Исходный код show :: OrderingI a b -> String Исходный код showList :: [OrderingI a b] -> ShowS Исходный код | |
type (<=) (x :: t) (y :: t) = Assert (x <=? y) (LeErrMsg x y :: Constraint) infix 4 Исходный код
Сравнение (<=) сравнимых типов в виде ограничения.
Начиная с: base-4.16.0.0
type (<=?) (m :: k) (n :: k) = OrdCond (Compare m n) 'True 'True 'False infix 4 Исходный код
Сравнение (<=) сравнимых типов в виде функции.
Начиная с: base-4.16.0.0
type (>=) (x :: t) (y :: t) = Assert (x >=? y) (GeErrMsg x y :: Constraint) infix 4 Исходный код
Сравнение (>=) сравнимых типов в виде ограничения.
Начиная с: base-4.16.0.0
type (>=?) (m :: k) (n :: k) = OrdCond (Compare m n) 'False 'True 'True infix 4 Исходный код
Сравнение (>=) сравнимых типов в виде функции.
Начиная с: base-4.16.0.0
type (>) (x :: t) (y :: t) = Assert (x >? y) (GtErrMsg x y :: Constraint) infix 4 Исходный код
Сравнение (>) сравнимых типов в виде ограничения.
Начиная с: base-4.16.0.0
type (>?) (m :: k) (n :: k) = OrdCond (Compare m n) 'False 'False 'True infix 4 Исходный код
Сравнение (>) сравнимых типов в виде функции.
Начиная с: base-4.16.0.0
type (<) (x :: t) (y :: t) = Assert (x <? y) (LtErrMsg x y :: Constraint) infix 4 Исходный код
Сравнение (<) сравнимых типов в виде ограничения.
Начиная с: base-4.16.0.0
type (<?) (m :: k) (n :: k) = OrdCond (Compare m n) 'True 'False 'False infix 4 Исходный код
Сравнение (<) сравнимых типов в виде функции.
Начиная с: base-4.16.0.0
type Max (m :: k) (n :: k) = OrdCond (Compare m n) n n m Исходный код
Максимум двух сравнимых типов.
Начиная с: base-4.16.0.0
type Min (m :: k) (n :: k) = OrdCond (Compare m n) m m n Исходный код
Минимум двух сравнимых типов.
Начиная с: base-4.16.0.0
type family OrdCond (o :: Ordering) (lt :: k) (eq :: k) (gt :: k) :: k where ... Исходный код
Выражение case для Ordering.
OrdCond c l e g — это l при c ~ LT, e при c ~ EQ и g при c ~ GT.
Начиная с: 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-Type-Ord.html