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 |
Synopsis
- class PBounded (a :: Type) where
- class SBounded a where
- sMinBound :: Sing (MinBoundSym0 :: a)
- sMaxBound :: Sing (MaxBoundSym0 :: a)
- class PEnum (a :: Type) where
- type Succ (arg :: a) :: a
- type Pred (arg :: a) :: a
- type ToEnum (arg :: Nat) :: a
- type FromEnum (arg :: a) :: Nat
- 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 :: Nat). Sing t -> Sing (Apply ToEnumSym0 t :: a)
- sFromEnum :: forall (t :: a). Sing t -> Sing (Apply FromEnumSym0 t :: Nat)
- 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 MinBoundSym0 = MinBound
- type MaxBoundSym0 = MaxBound
- data SuccSym0 :: forall a6989586621679730982. (~>) a6989586621679730982 a6989586621679730982
- type SuccSym1 (arg6989586621679731266 :: a6989586621679730982) = Succ arg6989586621679731266
- data PredSym0 :: forall a6989586621679730982. (~>) a6989586621679730982 a6989586621679730982
- type PredSym1 (arg6989586621679731268 :: a6989586621679730982) = Pred arg6989586621679731268
- data ToEnumSym0 :: forall a6989586621679730982. (~>) Nat a6989586621679730982
- type ToEnumSym1 (arg6989586621679731270 :: Nat) = ToEnum arg6989586621679731270
- data FromEnumSym0 :: forall a6989586621679730982. (~>) a6989586621679730982 Nat
- type FromEnumSym1 (arg6989586621679731272 :: a6989586621679730982) = FromEnum arg6989586621679731272
- data EnumFromToSym0 :: forall a6989586621679730982. (~>) a6989586621679730982 ((~>) a6989586621679730982 [a6989586621679730982])
- data EnumFromToSym1 (arg6989586621679731274 :: a6989586621679730982) :: (~>) a6989586621679730982 [a6989586621679730982]
- type EnumFromToSym2 (arg6989586621679731274 :: a6989586621679730982) (arg6989586621679731275 :: a6989586621679730982) = EnumFromTo arg6989586621679731274 arg6989586621679731275
- data EnumFromThenToSym0 :: forall a6989586621679730982. (~>) a6989586621679730982 ((~>) a6989586621679730982 ((~>) a6989586621679730982 [a6989586621679730982]))
- data EnumFromThenToSym1 (arg6989586621679731278 :: a6989586621679730982) :: (~>) a6989586621679730982 ((~>) a6989586621679730982 [a6989586621679730982])
- data EnumFromThenToSym2 (arg6989586621679731278 :: a6989586621679730982) (arg6989586621679731279 :: a6989586621679730982) :: (~>) a6989586621679730982 [a6989586621679730982]
- type EnumFromThenToSym3 (arg6989586621679731278 :: a6989586621679730982) (arg6989586621679731279 :: a6989586621679730982) (arg6989586621679731280 :: a6989586621679730982) = EnumFromThenTo arg6989586621679731278 arg6989586621679731279 arg6989586621679731280
Documentation
class PBounded (a :: Type) Source #
Instances
PBounded Bool Source # | |
PBounded Ordering Source # | |
PBounded () Source # | |
PBounded All Source # | |
PBounded Any Source # | |
PBounded (Min a) Source # | |
PBounded (Max a) Source # | |
PBounded (First a) Source # | |
PBounded (Last a) Source # | |
PBounded (WrappedMonoid m) Source # | |
PBounded (Identity a) Source # | |
PBounded (Dual a) Source # | |
PBounded (Sum a) Source # | |
PBounded (Product a) Source # | |
PBounded (a, b) Source # | |
PBounded (a, b, c) Source # | |
PBounded (Const a b) 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
class PEnum (a :: Type) Source #
type Succ (arg :: a) :: a Source #
type Pred (arg :: a) :: a Source #
type ToEnum (arg :: Nat) :: a Source #
type FromEnum (arg :: a) :: Nat Source #
type EnumFromTo (arg :: a) (arg :: a) :: [a] Source #
type EnumFromThenTo (arg :: a) (arg :: a) (arg :: a) :: [a] Source #
sSucc :: forall (t :: a). Sing t -> Sing (Apply SuccSym0 t :: a) Source #
sPred :: forall (t :: a). Sing t -> Sing (Apply PredSym0 t :: a) Source #
sToEnum :: forall (t :: Nat). Sing t -> Sing (Apply ToEnumSym0 t :: a) Source #
sFromEnum :: forall (t :: a). Sing t -> Sing (Apply FromEnumSym0 t :: Nat) Source #
sEnumFromTo :: forall (t :: a) (t :: a). 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 #
sSucc :: forall (t :: a). (Apply SuccSym0 t :: a) ~ Apply Succ_6989586621679731296Sym0 t => Sing t -> Sing (Apply SuccSym0 t :: a) Source #
sPred :: forall (t :: a). (Apply PredSym0 t :: a) ~ Apply Pred_6989586621679731305Sym0 t => Sing t -> Sing (Apply PredSym0 t :: a) Source #
sEnumFromTo :: forall (t :: a) (t :: a). (Apply (Apply EnumFromToSym0 t) t :: [a]) ~ Apply (Apply EnumFromTo_6989586621679731316Sym0 t) t => Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t :: [a]) Source #
sEnumFromThenTo :: forall (t :: a) (t :: a) (t :: a). (Apply (Apply (Apply EnumFromThenToSym0 t) t) t :: [a]) ~ Apply (Apply (Apply EnumFromThenTo_6989586621679731332Sym0 t) t) t => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t :: [a]) Source #
Instances
Defunctionalization symbols
type MinBoundSym0 = MinBound Source #
type MaxBoundSym0 = MaxBound Source #
data SuccSym0 :: forall a6989586621679730982. (~>) a6989586621679730982 a6989586621679730982 Source #
Instances
SEnum a => SingI (SuccSym0 :: TyFun a a -> Type) Source # | |
SuppressUnusedWarnings (SuccSym0 :: TyFun a6989586621679730982 a6989586621679730982 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Enum suppressUnusedWarnings :: () Source # | |
type Apply (SuccSym0 :: TyFun a a -> Type) (arg6989586621679731266 :: a) Source # | |
type SuccSym1 (arg6989586621679731266 :: a6989586621679730982) = Succ arg6989586621679731266 Source #
data PredSym0 :: forall a6989586621679730982. (~>) a6989586621679730982 a6989586621679730982 Source #
Instances
SEnum a => SingI (PredSym0 :: TyFun a a -> Type) Source # | |
SuppressUnusedWarnings (PredSym0 :: TyFun a6989586621679730982 a6989586621679730982 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Enum suppressUnusedWarnings :: () Source # | |
type Apply (PredSym0 :: TyFun a a -> Type) (arg6989586621679731268 :: a) Source # | |
type PredSym1 (arg6989586621679731268 :: a6989586621679730982) = Pred arg6989586621679731268 Source #
data ToEnumSym0 :: forall a6989586621679730982. (~>) Nat a6989586621679730982 Source #
Instances
SEnum a => SingI (ToEnumSym0 :: TyFun Nat a -> Type) Source # | |
Defined in Data.Singletons.Prelude.Enum sing :: Sing ToEnumSym0 Source # | |
SuppressUnusedWarnings (ToEnumSym0 :: TyFun Nat a6989586621679730982 -> Type) Source # | |
Defined in Data.Singletons.Prelude.Enum suppressUnusedWarnings :: () Source # | |
type Apply (ToEnumSym0 :: TyFun Nat k2 -> Type) (arg6989586621679731270 :: Nat) Source # | |
Defined in Data.Singletons.Prelude.Enum |
type ToEnumSym1 (arg6989586621679731270 :: Nat) = ToEnum arg6989586621679731270 Source #
data FromEnumSym0 :: forall a6989586621679730982. (~>) a6989586621679730982 Nat Source #
Instances
SEnum a => SingI (FromEnumSym0 :: TyFun a Nat -> Type) Source # | |
Defined in Data.Singletons.Prelude.Enum sing :: Sing FromEnumSym0 Source # | |
SuppressUnusedWarnings (FromEnumSym0 :: TyFun a6989586621679730982 Nat -> Type) Source # | |
Defined in Data.Singletons.Prelude.Enum suppressUnusedWarnings :: () Source # | |
type Apply (FromEnumSym0 :: TyFun a Nat -> Type) (arg6989586621679731272 :: a) Source # | |
Defined in Data.Singletons.Prelude.Enum |
type FromEnumSym1 (arg6989586621679731272 :: a6989586621679730982) = FromEnum arg6989586621679731272 Source #
data EnumFromToSym0 :: forall a6989586621679730982. (~>) a6989586621679730982 ((~>) a6989586621679730982 [a6989586621679730982]) Source #
Instances
SEnum a => SingI (EnumFromToSym0 :: TyFun a (a ~> [a]) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Enum | |
SuppressUnusedWarnings (EnumFromToSym0 :: TyFun a6989586621679730982 (a6989586621679730982 ~> [a6989586621679730982]) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Enum suppressUnusedWarnings :: () Source # | |
type Apply (EnumFromToSym0 :: TyFun a6989586621679730982 (a6989586621679730982 ~> [a6989586621679730982]) -> Type) (arg6989586621679731274 :: a6989586621679730982) Source # | |
Defined in Data.Singletons.Prelude.Enum type Apply (EnumFromToSym0 :: TyFun a6989586621679730982 (a6989586621679730982 ~> [a6989586621679730982]) -> Type) (arg6989586621679731274 :: a6989586621679730982) = EnumFromToSym1 arg6989586621679731274 |
data EnumFromToSym1 (arg6989586621679731274 :: a6989586621679730982) :: (~>) a6989586621679730982 [a6989586621679730982] Source #
Instances
(SEnum a, SingI d) => SingI (EnumFromToSym1 d :: TyFun a [a] -> Type) Source # | |
Defined in Data.Singletons.Prelude.Enum sing :: Sing (EnumFromToSym1 d) Source # | |
SuppressUnusedWarnings (EnumFromToSym1 arg6989586621679731274 :: TyFun a6989586621679730982 [a6989586621679730982] -> Type) Source # | |
Defined in Data.Singletons.Prelude.Enum suppressUnusedWarnings :: () Source # | |
type Apply (EnumFromToSym1 arg6989586621679731274 :: TyFun a [a] -> Type) (arg6989586621679731275 :: a) Source # | |
Defined in Data.Singletons.Prelude.Enum type Apply (EnumFromToSym1 arg6989586621679731274 :: TyFun a [a] -> Type) (arg6989586621679731275 :: a) = EnumFromTo arg6989586621679731274 arg6989586621679731275 |
type EnumFromToSym2 (arg6989586621679731274 :: a6989586621679730982) (arg6989586621679731275 :: a6989586621679730982) = EnumFromTo arg6989586621679731274 arg6989586621679731275 Source #
data EnumFromThenToSym0 :: forall a6989586621679730982. (~>) a6989586621679730982 ((~>) a6989586621679730982 ((~>) a6989586621679730982 [a6989586621679730982])) Source #
Instances
SEnum a => SingI (EnumFromThenToSym0 :: TyFun a (a ~> (a ~> [a])) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Enum | |
SuppressUnusedWarnings (EnumFromThenToSym0 :: TyFun a6989586621679730982 (a6989586621679730982 ~> (a6989586621679730982 ~> [a6989586621679730982])) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Enum suppressUnusedWarnings :: () Source # | |
type Apply (EnumFromThenToSym0 :: TyFun a6989586621679730982 (a6989586621679730982 ~> (a6989586621679730982 ~> [a6989586621679730982])) -> Type) (arg6989586621679731278 :: a6989586621679730982) Source # | |
Defined in Data.Singletons.Prelude.Enum type Apply (EnumFromThenToSym0 :: TyFun a6989586621679730982 (a6989586621679730982 ~> (a6989586621679730982 ~> [a6989586621679730982])) -> Type) (arg6989586621679731278 :: a6989586621679730982) = EnumFromThenToSym1 arg6989586621679731278 |
data EnumFromThenToSym1 (arg6989586621679731278 :: a6989586621679730982) :: (~>) a6989586621679730982 ((~>) a6989586621679730982 [a6989586621679730982]) Source #
Instances
(SEnum a, SingI d) => SingI (EnumFromThenToSym1 d :: TyFun a (a ~> [a]) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Enum sing :: Sing (EnumFromThenToSym1 d) Source # | |
SuppressUnusedWarnings (EnumFromThenToSym1 arg6989586621679731278 :: TyFun a6989586621679730982 (a6989586621679730982 ~> [a6989586621679730982]) -> Type) Source # | |
Defined in Data.Singletons.Prelude.Enum suppressUnusedWarnings :: () Source # | |
type Apply (EnumFromThenToSym1 arg6989586621679731278 :: TyFun a6989586621679730982 (a6989586621679730982 ~> [a6989586621679730982]) -> Type) (arg6989586621679731279 :: a6989586621679730982) Source # | |
Defined in Data.Singletons.Prelude.Enum type Apply (EnumFromThenToSym1 arg6989586621679731278 :: TyFun a6989586621679730982 (a6989586621679730982 ~> [a6989586621679730982]) -> Type) (arg6989586621679731279 :: a6989586621679730982) = EnumFromThenToSym2 arg6989586621679731278 arg6989586621679731279 |
data EnumFromThenToSym2 (arg6989586621679731278 :: a6989586621679730982) (arg6989586621679731279 :: a6989586621679730982) :: (~>) a6989586621679730982 [a6989586621679730982] Source #
Instances
(SEnum a, SingI d1, SingI d2) => SingI (EnumFromThenToSym2 d1 d2 :: TyFun a [a] -> Type) Source # | |
Defined in Data.Singletons.Prelude.Enum sing :: Sing (EnumFromThenToSym2 d1 d2) Source # | |
SuppressUnusedWarnings (EnumFromThenToSym2 arg6989586621679731279 arg6989586621679731278 :: TyFun a6989586621679730982 [a6989586621679730982] -> Type) Source # | |
Defined in Data.Singletons.Prelude.Enum suppressUnusedWarnings :: () Source # | |
type Apply (EnumFromThenToSym2 arg6989586621679731279 arg6989586621679731278 :: TyFun a [a] -> Type) (arg6989586621679731280 :: a) Source # | |
Defined in Data.Singletons.Prelude.Enum type Apply (EnumFromThenToSym2 arg6989586621679731279 arg6989586621679731278 :: TyFun a [a] -> Type) (arg6989586621679731280 :: a) = EnumFromThenTo arg6989586621679731279 arg6989586621679731278 arg6989586621679731280 |
type EnumFromThenToSym3 (arg6989586621679731278 :: a6989586621679730982) (arg6989586621679731279 :: a6989586621679730982) (arg6989586621679731280 :: a6989586621679730982) = EnumFromThenTo arg6989586621679731278 arg6989586621679731279 arg6989586621679731280 Source #