Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Nat
- type family NatPlus a a :: Nat
- type family NatMul a a :: Nat
- type family NatMinus a a :: Nat
- type family NatAbs a :: Nat
- natPlus :: Nat -> Nat -> Nat
- natMul :: Nat -> Nat -> Nat
- natMinus :: Nat -> Nat -> Nat
- natAbs :: Nat -> Nat
- type SNat = (Sing :: Nat -> *)
- data family Sing a
- class (~) (KProxy a0) kproxy0 (KProxy a0) => PNum kproxy0
- class (~) (KProxy a0) kproxy0 (KProxy a0) => SNum kproxy0
- data SSym0 l = forall arg . (KindOf (Apply SSym0 arg) ~ KindOf (SSym1 arg)) => SSym0KindInference
- type SSym1 t = S t
- type ZSym0 = Z
- type family Lit n
- type SLit n = Sing (Lit n)
Documentation
data family Sing a
The singleton kind-indexed data family.
data Sing Bool where | |
data Sing Ordering where | |
data Sing Nat where | |
data Sing Symbol where
| |
data Sing () where | |
data Sing Nat where | |
data Sing [a0] where | |
data Sing (Maybe a0) where | |
data Sing (TyFun k1 k2 -> *) = SLambda {} | |
data Sing (Either a0 b0) where | |
data Sing ((,) a0 b0) where | |
data Sing ((,,) a0 b0 c0) where | |
data Sing ((,,,) a0 b0 c0 d0) where | |
data Sing ((,,,,) a0 b0 c0 d0 e0) where | |
data Sing ((,,,,,) a0 b0 c0 d0 e0 f0) where | |
data Sing ((,,,,,,) a0 b0 c0 d0 e0 f0 g0) where |
Provides a shorthand for Nat
-s using GHC.TypeLits, for example:
>>>
:kind! Lit 3
Lit 3 :: Nat = 'S ('S ('S 'Z))