| 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 (~) (Proxy * a0) kproxy0 (Proxy * a0) => PNum a0 kproxy0
- class SNum a0
- data SSym0 l = (KindOf (Apply SSym0 arg) ~ KindOf (SSym1 arg)) => SSym0KindInference
- type SSym1 t = S t
- type ZSym0 = Z
- type family Lit n where ...
- type SLit n = Sing (Lit n)
- sLit :: forall n. SingI (Lit n) => Sing (Lit n)
Documentation
Instances
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 [a0] | |
| data Sing (Maybe a0) | |
| data Sing (NonEmpty a0) | |
| data Sing (Either a0 b0) | |
| data Sing (a0, b0) | |
| data Sing ((~>) k1 k2) | |
| data Sing (a0, b0, c0) | |
| data Sing (a0, b0, c0, d0) | |
| data Sing (a0, b0, c0, d0, e0) | |
| data Sing (a0, b0, c0, d0, e0, f0) | |
| data Sing (a0, b0, c0, d0, e0, f0, g0) | |
Minimal complete definition
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))