| License | BSD-style (see the LICENSE file in the distribution) |
|---|---|
| Maintainer | [email protected] |
| Stability | stable |
| Portability | not portable |
| Safe Haskell | Safe |
| Language | Haskell2010 |
Basic operations on type-level Orderings.
Since: base-4.16.0.0
type family Compare (a :: k) (b :: k) :: Ordering Source
Compare branches on the kind of its arguments to either compare by Symbol or Nat.
Since: base-4.16.0.0
| type Compare (a :: Natural) (b :: Natural) Source | |
Defined in GHC.Internal.Data.Type.Ord | |
| type Compare (a :: Char) (b :: Char) Source | |
Defined in GHC.Internal.Data.Type.Ord | |
| type Compare (a :: Symbol) (b :: Symbol) Source | |
Defined in GHC.Internal.Data.Type.Ord | |
data OrderingI (a :: k) (b :: k) where Source
Ordering data type for type literals that provides proof of their ordering.
Since: 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 |
type (<=) (x :: t) (y :: t) = Assert (x <=? y) (LeErrMsg x y :: Constraint) infix 4 Source
Comparison (<=) of comparable types, as a constraint.
Since: base-4.16.0.0
type (<=?) (m :: k) (n :: k) = OrdCond (Compare m n) 'True 'True 'False infix 4 Source
Comparison (<=) of comparable types, as a function.
Since: base-4.16.0.0
type (>=) (x :: t) (y :: t) = Assert (x >=? y) (GeErrMsg x y :: Constraint) infix 4 Source
Comparison (>=) of comparable types, as a constraint.
Since: base-4.16.0.0
type (>=?) (m :: k) (n :: k) = OrdCond (Compare m n) 'False 'True 'True infix 4 Source
Comparison (>=) of comparable types, as a function.
Since: base-4.16.0.0
type (>) (x :: t) (y :: t) = Assert (x >? y) (GtErrMsg x y :: Constraint) infix 4 Source
Comparison (>) of comparable types, as a constraint.
Since: base-4.16.0.0
type (>?) (m :: k) (n :: k) = OrdCond (Compare m n) 'False 'False 'True infix 4 Source
Comparison (>) of comparable types, as a function.
Since: base-4.16.0.0
type (<) (x :: t) (y :: t) = Assert (x <? y) (LtErrMsg x y :: Constraint) infix 4 Source
Comparison (<) of comparable types, as a constraint.
Since: base-4.16.0.0
type (<?) (m :: k) (n :: k) = OrdCond (Compare m n) 'True 'False 'False infix 4 Source
Comparison (<) of comparable types, as a function.
Since: base-4.16.0.0
type Max (m :: k) (n :: k) = OrdCond (Compare m n) n n m Source
Maximum between two comparable types.
Since: base-4.16.0.0
type Min (m :: k) (n :: k) = OrdCond (Compare m n) m m n Source
Minimum between two comparable types.
Since: base-4.16.0.0
type family OrdCond (o :: Ordering) (lt :: k) (eq :: k) (gt :: k) :: k where ... Source
A case statement on Ordering.
OrdCond c l e g is l when c ~ LT, e when c ~ EQ, and g when c ~ GT.
Since: 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.12.1/docs/libraries/base-4.21.0.0-8e62/Data-Type-Ord.html