| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Data.Nat
- data Nat
- type family NatPlus (a :: Nat) (a :: Nat) :: Nat where ...
- type family NatMul (a :: Nat) (a :: Nat) :: Nat where ...
- type family NatMinus (a :: Nat) (a :: Nat) :: Nat where ...
- type family NatAbs (a :: Nat) :: Nat where ...
- natPlus :: Nat -> Nat -> Nat
- natMul :: Nat -> Nat -> Nat
- natMinus :: Nat -> Nat -> Nat
- natAbs :: Nat -> Nat
- type SNat = (Sing :: Nat -> Type)
- data family Sing k (a :: k) :: *
- class PNum a
- class SNum a
- data SSym0 (l :: TyFun Nat Nat) = SameKind (Apply SSym0 arg) (SSym1 arg) => SSym0KindInference
- type SSym1 (t :: Nat) = S t
- type ZSym0 = Z
- type family Lit n where ...
- type SLit n = Sing (Lit n)
- sLit :: forall (n :: Nat). SingI (Lit n) => Sing (Lit n)
Documentation
Instances
| Eq Nat Source # | |
| Ord Nat Source # | |
| Show Nat Source # | |
| PNum Nat Source # | |
| SNum Nat Source # | |
| POrd Nat Source # | |
| SOrd Nat => SOrd Nat Source # | |
| SEq Nat Source # | |
| PEq Nat Source # | |
| SDecide Nat Source # | |
| SingKind Nat Source # | |
| SingI Nat Z Source # | |
| SingI Nat n => SingI Nat (S n) Source # | |
| Eq (SNat n) Source # | |
| Ord (SNat n) Source # | |
| Show (Sing Nat n) Source # | |
| SuppressUnusedWarnings (TyFun Nat Nat -> *) SSym0 Source # | |
| data Sing Nat Source # | |
| type Demote Nat Source # | |
| type FromInteger Nat a Source # | |
| type Signum Nat a Source # | |
| type Abs Nat a Source # | |
| type Negate Nat arg Source # | |
| type (:*) Nat a b Source # | |
| type (:-) Nat a b Source # | |
| type (:+) Nat a b Source # | |
| type Min Nat arg arg1 Source # | |
| type Max Nat arg arg1 Source # | |
| type (:>=) Nat arg arg1 Source # | |
| type (:>) Nat arg arg1 Source # | |
| type (:<=) Nat arg arg1 Source # | |
| type (:<) Nat arg arg1 Source # | |
| type Compare Nat a1 a2 Source # | |
| type (:/=) Nat x y Source # | |
| type (:==) Nat a b Source # | |
| type Apply Nat Nat SSym0 l Source # | |
data family Sing k (a :: k) :: * #
The singleton kind-indexed data family.
Instances
| Eq (SNat n) # | |
| Ord (SNat n) # | |
| Show (Sing Nat n) # | |
| data Sing Bool | |
| data Sing Ordering | |
| data Sing Nat | |
| data Sing Symbol | |
| data Sing () | |
| data Sing Nat # | |
| data Sing [a] | |
| data Sing (Maybe a) | |
| data Sing (NonEmpty a) | |
| data Sing (Either a b) | |
| data Sing (a, b) | |
| data Sing ((~>) k1 k2) | |
| data Sing (a, b, c) | |
| data Sing (a, b, c, d) | |
| data Sing (a, b, c, d, e) | |
| data Sing (a, b, c, d, e, f) | |
| data Sing (a, b, c, d, e, f, g) | |
Minimal complete definition
data SSym0 (l :: TyFun Nat Nat) Source #
Constructors
| SameKind (Apply SSym0 arg) (SSym1 arg) => SSym0KindInference |
type family Lit n where ... Source #
Provides a shorthand for Nat-s using GHC.TypeLits, for example:
>>>:kind! Lit 3Lit 3 :: Nat = 'S ('S ('S 'Z))