Data.Type.Ord
Basic operations on type-level Orderings.
Since: base-4.16.0.0
Documentation
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
data OrderingI a b where Source #
Ordering data type for type literals that provides proof of their ordering.
Since: base-4.16.0.0
Constructors
LTI :: Compare a b ~ 'LT => OrderingI a b | |
EQI :: Compare a a ~ 'EQ => OrderingI a a | |
GTI :: Compare a b ~ 'GT => OrderingI a b |
type (<=) x y = Assert (x <=? y) (LeErrMsg x y) infix 4 Source #
Comparison (<=) of comparable types, as a constraint.
Since: base-4.16.0.0
type (<=?) m n = 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 y = Assert (x >=? y) (GeErrMsg x y) infix 4 Source #
Comparison (>=) of comparable types, as a constraint.
Since: base-4.16.0.0
type (>=?) m n = 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 y = Assert (x >? y) (GtErrMsg x y) infix 4 Source #
Comparison (>) of comparable types, as a constraint.
Since: base-4.16.0.0
type (>?) m n = 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 y = Assert (x y) (LtErrMsg x y) infix 4 Source #
Comparison (<) of comparable types, as a constraint.
Since: base-4.16.0.0
type ( m n = 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 n = OrdCond (Compare m n) n n m Source #
Maximum between two comparable types.
Since: base-4.16.0.0