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 | Safe-Inferred |
Language | Haskell2010 |
Defines the promoted and singleton version of the Bounded
and Enum
type
classes.
While Prelude.Singletons re-exports the promoted and singled versions of
Enum
, it deliberately avoids re-exporting Succ
and Pred
, as these are
names are likely to clash with code that deals with unary natural numbers.
As a result, this module exists to provide Succ
and Pred
for those who
want them.
Synopsis
- class PBounded a where
- class SBounded a where
- sMinBound :: Sing (MinBoundSym0 :: a)
- sMaxBound :: Sing (MaxBoundSym0 :: a)
- class PEnum a where
- type Succ (arg :: a) :: a
- type Pred (arg :: a) :: a
- type ToEnum (arg :: Natural) :: a
- type FromEnum (arg :: a) :: Natural
- type EnumFromTo (arg :: a) (arg :: a) :: [a]
- type EnumFromThenTo (arg :: a) (arg :: a) (arg :: a) :: [a]
- class SEnum a where
- sSucc :: forall (t :: a). Sing t -> Sing (Apply SuccSym0 t :: a)
- sPred :: forall (t :: a). Sing t -> Sing (Apply PredSym0 t :: a)
- sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t :: a)
- sFromEnum :: forall (t :: a). Sing t -> Sing (Apply FromEnumSym0 t :: Natural)
- sEnumFromTo :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t :: [a])
- sEnumFromThenTo :: forall (t :: a) (t :: a) (t :: a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t :: [a])
- type family MinBoundSym0 :: a where ...
- type family MaxBoundSym0 :: a where ...
- data SuccSym0 :: (~>) a a
- type family SuccSym1 (a6989586621679605379 :: a) :: a where ...
- data PredSym0 :: (~>) a a
- type family PredSym1 (a6989586621679605382 :: a) :: a where ...
- data ToEnumSym0 :: (~>) Natural a
- type family ToEnumSym1 (a6989586621679605385 :: Natural) :: a where ...
- data FromEnumSym0 :: (~>) a Natural
- type family FromEnumSym1 (a6989586621679605388 :: a) :: Natural where ...
- data EnumFromToSym0 :: (~>) a ((~>) a [a])
- data EnumFromToSym1 (a6989586621679605392 :: a) :: (~>) a [a]
- type family EnumFromToSym2 (a6989586621679605392 :: a) (a6989586621679605393 :: a) :: [a] where ...
- data EnumFromThenToSym0 :: (~>) a ((~>) a ((~>) a [a]))
- data EnumFromThenToSym1 (a6989586621679605398 :: a) :: (~>) a ((~>) a [a])
- data EnumFromThenToSym2 (a6989586621679605398 :: a) (a6989586621679605399 :: a) :: (~>) a [a]
- type family EnumFromThenToSym3 (a6989586621679605398 :: a) (a6989586621679605399 :: a) (a6989586621679605400 :: a) :: [a] where ...
Documentation
Instances
PBounded All Source # | |
PBounded Any Source # | |
PBounded Ordering Source # | |
PBounded () Source # | |
PBounded Bool Source # | |
PBounded Char Source # | |
PBounded (Identity a) Source # | |
PBounded (First a) Source # | |
PBounded (Last a) Source # | |
PBounded (Max a) Source # | |
PBounded (Min a) Source # | |
PBounded (WrappedMonoid m) Source # | |
PBounded (Dual a) Source # | |
PBounded (Product a) Source # | |
PBounded (Sum a) Source # | |
PBounded (Proxy s) Source # | |
PBounded (a, b) Source # | |
PBounded (Const a b) Source # | |
PBounded (a, b, c) Source # | |
PBounded (a, b, c, d) Source # | |
PBounded (a, b, c, d, e) Source # | |
PBounded (a, b, c, d, e, f) Source # | |
PBounded (a, b, c, d, e, f, g) Source # | |
class SBounded a where Source #
sMinBound :: Sing (MinBoundSym0 :: a) Source #
sMaxBound :: Sing (MaxBoundSym0 :: a) Source #
Instances
type Succ (arg :: a) :: a Source #
type Succ a = Apply Succ_6989586621679605402Sym0 a
type Pred (arg :: a) :: a Source #
type Pred a = Apply Pred_6989586621679605415Sym0 a
type ToEnum (arg :: Natural) :: a Source #
type FromEnum (arg :: a) :: Natural Source #
type EnumFromTo (arg :: a) (arg :: a) :: [a] Source #
type EnumFromTo a a = Apply (Apply EnumFromTo_6989586621679605425Sym0 a) a
type EnumFromThenTo (arg :: a) (arg :: a) (arg :: a) :: [a] Source #
type EnumFromThenTo a a a = Apply (Apply (Apply EnumFromThenTo_6989586621679605437Sym0 a) a) a
Instances
PEnum Ordering Source # | |
PEnum Natural Source # | |
PEnum () Source # | |
PEnum Bool Source # | |
PEnum Char Source # | |
PEnum (Identity a) Source # | |
PEnum (First a) Source # | |
PEnum (Last a) Source # | |
PEnum (Max a) Source # | |
PEnum (Min a) Source # | |
PEnum (WrappedMonoid a) Source # | |
PEnum (Proxy s) Source # | |
PEnum (Const a b) Source # | |
sSucc :: forall (t :: a). Sing t -> Sing (Apply SuccSym0 t :: a) Source #
default sSucc :: forall (t :: a). (Apply SuccSym0 t :: a) ~ Apply Succ_6989586621679605402Sym0 t => Sing t -> Sing (Apply SuccSym0 t :: a) Source #
sPred :: forall (t :: a). Sing t -> Sing (Apply PredSym0 t :: a) Source #
default sPred :: forall (t :: a). (Apply PredSym0 t :: a) ~ Apply Pred_6989586621679605415Sym0 t => Sing t -> Sing (Apply PredSym0 t :: a) Source #
sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t :: a) Source #
sFromEnum :: forall (t :: a). Sing t -> Sing (Apply FromEnumSym0 t :: Natural) Source #
sEnumFromTo :: forall (t :: a) (t :: a). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t :: [a]) Source #
default sEnumFromTo :: forall (t :: a) (t :: a). (Apply (Apply EnumFromToSym0 t) t :: [a]) ~ Apply (Apply EnumFromTo_6989586621679605425Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t :: [a]) Source #
sEnumFromThenTo :: forall (t :: a) (t :: a) (t :: a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t :: [a]) Source #
default sEnumFromThenTo :: forall (t :: a) (t :: a) (t :: a). (Apply (Apply (Apply EnumFromThenToSym0 t) t) t :: [a]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679605437Sym0 t) t) t => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t :: [a]) Source #
Instances
SEnum Ordering Source # | |
Defined in Data.Singletons.Base.Enum sSucc :: forall (t :: Ordering). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Ordering). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Ordering). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: Ordering) (t :: Ordering). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: Ordering) (t :: Ordering) (t :: Ordering). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # | |
SEnum Natural Source # | |
Defined in Data.Singletons.Base.Enum sSucc :: forall (t :: Natural). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Natural). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Natural). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: Natural) (t :: Natural). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: Natural) (t :: Natural) (t :: Natural). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # | |
SEnum () Source # | |
Defined in Data.Singletons.Base.Enum sSucc :: forall (t :: ()). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: ()). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: ()). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: ()) (t :: ()). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: ()) (t :: ()) (t :: ()). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # | |
SEnum Bool Source # | |
Defined in Data.Singletons.Base.Enum sSucc :: forall (t :: Bool). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Bool). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Bool). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: Bool) (t :: Bool). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: Bool) (t :: Bool) (t :: Bool). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # | |
SEnum Char Source # | |
Defined in Data.Singletons.Base.Enum sSucc :: forall (t :: Char). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Char). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Char). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: Char) (t :: Char). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: Char) (t :: Char) (t :: Char). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # | |
SEnum a => SEnum (Identity a) Source # | |
Defined in Data.Functor.Identity.Singletons sSucc :: forall (t :: Identity a). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Identity a). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Identity a). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: Identity a) (t :: Identity a). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: Identity a) (t :: Identity a) (t :: Identity a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # | |
SEnum a => SEnum (First a) Source # | |
Defined in Data.Semigroup.Singletons sSucc :: forall (t :: First a). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: First a). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: First a). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: First a) (t :: First a). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: First a) (t :: First a) (t :: First a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # | |
SEnum a => SEnum (Last a) Source # | |
Defined in Data.Semigroup.Singletons sSucc :: forall (t :: Last a). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Last a). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Last a). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: Last a) (t :: Last a). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: Last a) (t :: Last a) (t :: Last a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # | |
SEnum a => SEnum (Max a) Source # | |
Defined in Data.Semigroup.Singletons sSucc :: forall (t :: Max a). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Max a). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Max a). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: Max a) (t :: Max a). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: Max a) (t :: Max a) (t :: Max a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # | |
SEnum a => SEnum (Min a) Source # | |
Defined in Data.Semigroup.Singletons sSucc :: forall (t :: Min a). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Min a). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Min a). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: Min a) (t :: Min a). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: Min a) (t :: Min a) (t :: Min a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # | |
SEnum a => SEnum (WrappedMonoid a) Source # | |
Defined in Data.Semigroup.Singletons sSucc :: forall (t :: WrappedMonoid a). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: WrappedMonoid a). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: WrappedMonoid a). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: WrappedMonoid a) (t :: WrappedMonoid a). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: WrappedMonoid a) (t :: WrappedMonoid a) (t :: WrappedMonoid a). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # | |
SEnum (Proxy s) Source # | |
Defined in Data.Proxy.Singletons sSucc :: forall (t :: Proxy s). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Proxy s). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Proxy s). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: Proxy s) (t :: Proxy s). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: Proxy s) (t :: Proxy s) (t :: Proxy s). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # | |
SEnum a => SEnum (Const a b) Source # | |
Defined in Data.Functor.Const.Singletons sSucc :: forall (t :: Const a b). Sing t -> Sing (Apply SuccSym0 t) Source # sPred :: forall (t :: Const a b). Sing t -> Sing (Apply PredSym0 t) Source # sToEnum :: forall (t :: Natural). Sing t -> Sing (Apply ToEnumSym0 t) Source # sFromEnum :: forall (t :: Const a b). Sing t -> Sing (Apply FromEnumSym0 t) Source # sEnumFromTo :: forall (t :: Const a b) (t :: Const a b). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source # sEnumFromThenTo :: forall (t :: Const a b) (t :: Const a b) (t :: Const a b). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source # |
Defunctionalization symbols
type family MinBoundSym0 :: a where ... Source #
type family MaxBoundSym0 :: a where ... Source #
data SuccSym0 :: (~>) a a Source #
Instances
SEnum a => SingI (SuccSym0 :: TyFun a a -> Type) Source # | |
Defined in Data.Singletons.Base.Enum | |
SuppressUnusedWarnings (SuccSym0 :: TyFun a a -> Type) Source # | |
Defined in Data.Singletons.Base.Enum suppressUnusedWarnings :: () # | |
type Apply (SuccSym0 :: TyFun a a -> Type) (a6989586621679605379 :: a) Source # | |
Defined in Data.Singletons.Base.Enum |
data PredSym0 :: (~>) a a Source #
Instances
SEnum a => SingI (PredSym0 :: TyFun a a -> Type) Source # | |
Defined in Data.Singletons.Base.Enum | |
SuppressUnusedWarnings (PredSym0 :: TyFun a a -> Type) Source # | |
Defined in Data.Singletons.Base.Enum suppressUnusedWarnings :: () # | |
type Apply (PredSym0 :: TyFun a a -> Type) (a6989586621679605382 :: a) Source # | |
Defined in Data.Singletons.Base.Enum |
data ToEnumSym0 :: (~>) Natural a Source #
Instances
SEnum a => SingI (ToEnumSym0 :: TyFun Natural a -> Type) Source # | |
Defined in Data.Singletons.Base.Enum sing :: Sing ToEnumSym0 | |
SuppressUnusedWarnings (ToEnumSym0 :: TyFun Natural a -> Type) Source # | |
Defined in Data.Singletons.Base.Enum suppressUnusedWarnings :: () # | |
type Apply (ToEnumSym0 :: TyFun Natural k2 -> Type) (a6989586621679605385 :: Natural) Source # | |
Defined in Data.Singletons.Base.Enum type Apply (ToEnumSym0 :: TyFun Natural k2 -> Type) (a6989586621679605385 :: Natural) = ToEnum a6989586621679605385 :: k2 |
type family ToEnumSym1 (a6989586621679605385 :: Natural) :: a where ... Source #
ToEnumSym1 a6989586621679605385 = ToEnum a6989586621679605385 |
data FromEnumSym0 :: (~>) a Natural Source #
Instances
SEnum a => SingI (FromEnumSym0 :: TyFun a Natural -> Type) Source # | |
Defined in Data.Singletons.Base.Enum sing :: Sing FromEnumSym0 | |
SuppressUnusedWarnings (FromEnumSym0 :: TyFun a Natural -> Type) Source # | |
Defined in Data.Singletons.Base.Enum suppressUnusedWarnings :: () # | |
type Apply (FromEnumSym0 :: TyFun a Natural -> Type) (a6989586621679605388 :: a) Source # | |
Defined in Data.Singletons.Base.Enum type Apply (FromEnumSym0 :: TyFun a Natural -> Type) (a6989586621679605388 :: a) = FromEnum a6989586621679605388 |
type family FromEnumSym1 (a6989586621679605388 :: a) :: Natural where ... Source #
FromEnumSym1 a6989586621679605388 = FromEnum a6989586621679605388 |
data EnumFromToSym0 :: (~>) a ((~>) a [a]) Source #
Instances
SEnum a => SingI (EnumFromToSym0 :: TyFun a (a ~> [a]) -> Type) Source # | |
Defined in Data.Singletons.Base.Enum | |
SuppressUnusedWarnings (EnumFromToSym0 :: TyFun a (a ~> [a]) -> Type) Source # | |
Defined in Data.Singletons.Base.Enum suppressUnusedWarnings :: () # | |
type Apply (EnumFromToSym0 :: TyFun a (a ~> [a]) -> Type) (a6989586621679605392 :: a) Source # | |
Defined in Data.Singletons.Base.Enum type Apply (EnumFromToSym0 :: TyFun a (a ~> [a]) -> Type) (a6989586621679605392 :: a) = EnumFromToSym1 a6989586621679605392 |
data EnumFromToSym1 (a6989586621679605392 :: a) :: (~>) a [a] Source #
Instances
SEnum a => SingI1 (EnumFromToSym1 :: a -> TyFun a [a] -> Type) Source # | |
Defined in Data.Singletons.Base.Enum liftSing :: forall (x :: k1). Sing x -> Sing (EnumFromToSym1 x) | |
(SEnum a, SingI d) => SingI (EnumFromToSym1 d :: TyFun a [a] -> Type) Source # | |
Defined in Data.Singletons.Base.Enum sing :: Sing (EnumFromToSym1 d) | |
SuppressUnusedWarnings (EnumFromToSym1 a6989586621679605392 :: TyFun a [a] -> Type) Source # | |
Defined in Data.Singletons.Base.Enum suppressUnusedWarnings :: () # | |
type Apply (EnumFromToSym1 a6989586621679605392 :: TyFun a [a] -> Type) (a6989586621679605393 :: a) Source # | |
Defined in Data.Singletons.Base.Enum type Apply (EnumFromToSym1 a6989586621679605392 :: TyFun a [a] -> Type) (a6989586621679605393 :: a) = EnumFromTo a6989586621679605392 a6989586621679605393 |
type family EnumFromToSym2 (a6989586621679605392 :: a) (a6989586621679605393 :: a) :: [a] where ... Source #
EnumFromToSym2 a6989586621679605392 a6989586621679605393 = EnumFromTo a6989586621679605392 a6989586621679605393 |
data EnumFromThenToSym0 :: (~>) a ((~>) a ((~>) a [a])) Source #
Instances
SEnum a => SingI (EnumFromThenToSym0 :: TyFun a (a ~> (a ~> [a])) -> Type) Source # | |
Defined in Data.Singletons.Base.Enum | |
SuppressUnusedWarnings (EnumFromThenToSym0 :: TyFun a (a ~> (a ~> [a])) -> Type) Source # | |
Defined in Data.Singletons.Base.Enum suppressUnusedWarnings :: () # | |
type Apply (EnumFromThenToSym0 :: TyFun a (a ~> (a ~> [a])) -> Type) (a6989586621679605398 :: a) Source # | |
Defined in Data.Singletons.Base.Enum type Apply (EnumFromThenToSym0 :: TyFun a (a ~> (a ~> [a])) -> Type) (a6989586621679605398 :: a) = EnumFromThenToSym1 a6989586621679605398 |
data EnumFromThenToSym1 (a6989586621679605398 :: a) :: (~>) a ((~>) a [a]) Source #
Instances
SEnum a => SingI1 (EnumFromThenToSym1 :: a -> TyFun a (a ~> [a]) -> Type) Source # | |
Defined in Data.Singletons.Base.Enum liftSing :: forall (x :: k1). Sing x -> Sing (EnumFromThenToSym1 x) | |
(SEnum a, SingI d) => SingI (EnumFromThenToSym1 d :: TyFun a (a ~> [a]) -> Type) Source # | |
Defined in Data.Singletons.Base.Enum sing :: Sing (EnumFromThenToSym1 d) | |
SuppressUnusedWarnings (EnumFromThenToSym1 a6989586621679605398 :: TyFun a (a ~> [a]) -> Type) Source # | |
Defined in Data.Singletons.Base.Enum suppressUnusedWarnings :: () # | |
type Apply (EnumFromThenToSym1 a6989586621679605398 :: TyFun a (a ~> [a]) -> Type) (a6989586621679605399 :: a) Source # | |
Defined in Data.Singletons.Base.Enum type Apply (EnumFromThenToSym1 a6989586621679605398 :: TyFun a (a ~> [a]) -> Type) (a6989586621679605399 :: a) = EnumFromThenToSym2 a6989586621679605398 a6989586621679605399 |
data EnumFromThenToSym2 (a6989586621679605398 :: a) (a6989586621679605399 :: a) :: (~>) a [a] Source #
Instances
SEnum a => SingI2 (EnumFromThenToSym2 :: a -> a -> TyFun a [a] -> Type) Source # | |
Defined in Data.Singletons.Base.Enum liftSing2 :: forall (x :: k1) (y :: k2). Sing x -> Sing y -> Sing (EnumFromThenToSym2 x y) | |
(SEnum a, SingI d) => SingI1 (EnumFromThenToSym2 d :: a -> TyFun a [a] -> Type) Source # | |
Defined in Data.Singletons.Base.Enum liftSing :: forall (x :: k1). Sing x -> Sing (EnumFromThenToSym2 d x) | |
(SEnum a, SingI d1, SingI d2) => SingI (EnumFromThenToSym2 d1 d2 :: TyFun a [a] -> Type) Source # | |
Defined in Data.Singletons.Base.Enum sing :: Sing (EnumFromThenToSym2 d1 d2) | |
SuppressUnusedWarnings (EnumFromThenToSym2 a6989586621679605398 a6989586621679605399 :: TyFun a [a] -> Type) Source # | |
Defined in Data.Singletons.Base.Enum suppressUnusedWarnings :: () # | |
type Apply (EnumFromThenToSym2 a6989586621679605398 a6989586621679605399 :: TyFun a [a] -> Type) (a6989586621679605400 :: a) Source # | |
Defined in Data.Singletons.Base.Enum type Apply (EnumFromThenToSym2 a6989586621679605398 a6989586621679605399 :: TyFun a [a] -> Type) (a6989586621679605400 :: a) = EnumFromThenTo a6989586621679605398 a6989586621679605399 a6989586621679605400 |
type family EnumFromThenToSym3 (a6989586621679605398 :: a) (a6989586621679605399 :: a) (a6989586621679605400 :: a) :: [a] where ... Source #
EnumFromThenToSym3 a6989586621679605398 a6989586621679605399 a6989586621679605400 = EnumFromThenTo a6989586621679605398 a6989586621679605399 a6989586621679605400 |