| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
Rerefined.Predicate.Relational.Value
Synopsis
- data CompareValue (op :: k) (sign :: Sign) (n :: Natural)
- data Sign
- type family ShowSign (sign :: Sign) :: Symbol where ...
- class ReifySignedNat (sign :: Sign) (n :: Natural) where
- reifySignedNat :: (Num a, KnownNat n) => a
Documentation
data CompareValue (op :: k) (sign :: Sign) (n :: Natural) Source #
Compare value to a type-level Natural using the given RelOp.
Instances
| Predicate (CompareValue op sign n :: Type) Source # | Precedence of 4 (matching base relational operators e.g. |
Defined in Rerefined.Predicate.Relational.Value | |
| (KnownNat n, Num a, Ord a, ReifyRelOp op, ReifySignedNat sign n, KnownPredicateName (CompareValue op sign n)) => Refine (CompareValue op sign n :: Type) a Source # | |
Defined in Rerefined.Predicate.Relational.Value Methods validate :: Proxy# (CompareValue op sign n) -> a -> Maybe RefineFailure Source # | |
| type PredicateName d (CompareValue op sign n :: Type) Source # | |
Defined in Rerefined.Predicate.Relational.Value type PredicateName d (CompareValue op sign n :: Type) = ShowParen (d > 4) (((("Value " ++ ShowRelOp op) ++ ShowChar ' ') ++ ShowSign sign) ++ ShowNatDec n) | |
class ReifySignedNat (sign :: Sign) (n :: Natural) where Source #
Methods
reifySignedNat :: (Num a, KnownNat n) => a Source #
Instances
| ReifySignedNat 'Neg n Source # | |
Defined in Rerefined.Predicate.Relational.Value Methods reifySignedNat :: (Num a, KnownNat n) => a Source # | |
| ReifySignedNat 'Pos n Source # | |
Defined in Rerefined.Predicate.Relational.Value Methods reifySignedNat :: (Num a, KnownNat n) => a Source # | |