Copyright | (C) 2014 Jan Stolarek, Richard Eisenberg |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | Jan Stolarek (jan.stolarek@p.lodz.pl) |
Stability | experimental |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
- class (kproxy ~ KProxy) => PBounded kproxy where
- class (kproxy ~ KProxy) => SBounded kproxy where
- sMinBound :: Sing (MinBoundSym0 :: a)
- sMaxBound :: Sing (MaxBoundSym0 :: a)
- class (kproxy ~ KProxy) => PEnum kproxy where
- type Succ arg :: a
- type Pred arg :: a
- type ToEnum arg :: a
- type FromEnum arg :: Nat
- type EnumFromTo arg arg :: [a]
- type EnumFromThenTo arg arg arg :: [a]
- class (kproxy ~ KProxy) => SEnum kproxy where
- sSucc :: forall t. Sing t -> Sing (Apply SuccSym0 t :: a)
- sPred :: forall t. Sing t -> Sing (Apply PredSym0 t :: a)
- sToEnum :: forall t. Sing t -> Sing (Apply ToEnumSym0 t :: a)
- sFromEnum :: forall t. Sing t -> Sing (Apply FromEnumSym0 t :: Nat)
- sEnumFromTo :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t :: [a])
- sEnumFromThenTo :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t :: [a])
- type MinBoundSym0 = MinBound
- type MaxBoundSym0 = MaxBound
- data SuccSym0 l
- type SuccSym1 t = Succ t
- data PredSym0 l
- type PredSym1 t = Pred t
- data ToEnumSym0 l
- type ToEnumSym1 t = ToEnum t
- data FromEnumSym0 l
- type FromEnumSym1 t = FromEnum t
- data EnumFromToSym0 l
- data EnumFromToSym1 l l
- type EnumFromToSym2 t t = EnumFromTo t t
- data EnumFromThenToSym0 l
- data EnumFromThenToSym1 l l
- data EnumFromThenToSym2 l l l
- type EnumFromThenToSym3 t t t = EnumFromThenTo t t t
Documentation
class (kproxy ~ KProxy) => PBounded kproxy Source
PBounded Bool (KProxy Bool) Source | |
PBounded Ordering (KProxy Ordering) Source | |
PBounded () (KProxy ()) Source | |
PBounded ((,) a b) (KProxy ((,) a b)) Source | |
PBounded ((,,) a b c) (KProxy ((,,) a b c)) Source | |
PBounded ((,,,) a b c d) (KProxy ((,,,) a b c d)) Source | |
PBounded ((,,,,) a b c d e) (KProxy ((,,,,) a b c d e)) Source | |
PBounded ((,,,,,) a b c d e f) (KProxy ((,,,,,) a b c d e f)) Source | |
PBounded ((,,,,,,) a b c d e f g) (KProxy ((,,,,,,) a b c d e f g)) Source |
class (kproxy ~ KProxy) => SBounded kproxy where Source
sMinBound :: Sing (MinBoundSym0 :: a) Source
sMaxBound :: Sing (MaxBoundSym0 :: a) Source
class (kproxy ~ KProxy) => PEnum kproxy Source
type FromEnum arg :: Nat Source
type EnumFromTo arg arg :: [a] Source
type EnumFromThenTo arg arg arg :: [a] Source
class (kproxy ~ KProxy) => SEnum kproxy where Source
sSucc :: forall t. Sing t -> Sing (Apply SuccSym0 t :: a) Source
sPred :: forall t. Sing t -> Sing (Apply PredSym0 t :: a) Source
sToEnum :: forall t. Sing t -> Sing (Apply ToEnumSym0 t :: a) Source
sFromEnum :: forall t. Sing t -> Sing (Apply FromEnumSym0 t :: Nat) Source
sEnumFromTo :: forall t t. Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t :: [a]) Source
sEnumFromThenTo :: forall t t t. Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t :: [a]) Source
Defunctionalization symbols
type MinBoundSym0 = MinBound Source
type MaxBoundSym0 = MaxBound Source
data ToEnumSym0 l Source
SuppressUnusedWarnings (TyFun Nat k -> *) (ToEnumSym0 k) Source | |
type Apply k Nat (ToEnumSym0 k) l0 = ToEnumSym1 k l0 Source |
type ToEnumSym1 t = ToEnum t Source
data FromEnumSym0 l Source
SuppressUnusedWarnings (TyFun k Nat -> *) (FromEnumSym0 k) Source | |
type Apply Nat k (FromEnumSym0 k) l0 = FromEnumSym1 k l0 Source |
type FromEnumSym1 t = FromEnum t Source
data EnumFromToSym0 l Source
SuppressUnusedWarnings (TyFun k (TyFun k [k] -> *) -> *) (EnumFromToSym0 k) Source | |
type Apply (TyFun k [k] -> *) k (EnumFromToSym0 k) l0 = EnumFromToSym1 k l0 Source |
data EnumFromToSym1 l l Source
SuppressUnusedWarnings (k -> TyFun k [k] -> *) (EnumFromToSym1 k) Source | |
type Apply [k] k (EnumFromToSym1 k l1) l0 = EnumFromToSym2 k l1 l0 Source |
type EnumFromToSym2 t t = EnumFromTo t t Source
data EnumFromThenToSym0 l Source
SuppressUnusedWarnings (TyFun k (TyFun k (TyFun k [k] -> *) -> *) -> *) (EnumFromThenToSym0 k) Source | |
type Apply (TyFun k (TyFun k [k] -> *) -> *) k (EnumFromThenToSym0 k) l0 = EnumFromThenToSym1 k l0 Source |
data EnumFromThenToSym1 l l Source
SuppressUnusedWarnings (k -> TyFun k (TyFun k [k] -> *) -> *) (EnumFromThenToSym1 k) Source | |
type Apply (TyFun k [k] -> *) k (EnumFromThenToSym1 k l1) l0 = EnumFromThenToSym2 k l1 l0 Source |
data EnumFromThenToSym2 l l l Source
SuppressUnusedWarnings (k -> k -> TyFun k [k] -> *) (EnumFromThenToSym2 k) Source | |
type Apply [k] k (EnumFromThenToSym2 k l1 l2) l0 = EnumFromThenToSym3 k l1 l2 l0 Source |
type EnumFromThenToSym3 t t t = EnumFromThenTo t t t Source