singletons-2.6: A framework for generating singleton types
Copyright(C) 2014 Jan Stolarek Richard Eisenberg
LicenseBSD-style (see LICENSE)
MaintainerJan Stolarek (jan.stolarek@p.lodz.pl)
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Data.Singletons.Prelude.Enum

Description

Defines the promoted and singleton version of Bounded, PBounded and SBounded

Synopsis

Documentation

class PBounded (a :: Type) Source #

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

Instances

Instances details
PBounded Bool Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded Ordering Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded () Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded All Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded Any Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (WrappedMonoid m) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (Identity a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (Dual a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (Sum a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (Product a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (a, b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (a, b, c) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (Const a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (a, b, c, d) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (a, b, c, d, e) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (a, b, c, d, e, f) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

PBounded (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type MinBound :: a Source #

type MaxBound :: a Source #

class SBounded a where Source #

Instances

Instances details
SBounded Bool Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SBounded Ordering Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SBounded () Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SBounded Bool => SBounded All Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SBounded Bool => SBounded Any Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SBounded a => SBounded (Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SBounded a => SBounded (Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SBounded a => SBounded (First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SBounded a => SBounded (Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SBounded m => SBounded (WrappedMonoid m) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SBounded a => SBounded (Identity a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SBounded a => SBounded (Dual a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SBounded a => SBounded (Sum a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

SBounded a => SBounded (Product a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup.Internal

(SBounded a, SBounded b) => SBounded (a, b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

(SBounded a, SBounded b, SBounded c) => SBounded (a, b, c) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SBounded a => SBounded (Const a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

(SBounded a, SBounded b, SBounded c, SBounded d) => SBounded (a, b, c, d) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

(SBounded a, SBounded b, SBounded c, SBounded d, SBounded e) => SBounded (a, b, c, d, e) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

(SBounded a, SBounded b, SBounded c, SBounded d, SBounded e, SBounded f) => SBounded (a, b, c, d, e, f) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

(SBounded a, SBounded b, SBounded c, SBounded d, SBounded e, SBounded f, SBounded g) => SBounded (a, b, c, d, e, f, g) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

class PEnum (a :: Type) Source #

Associated Types

type Succ (arg :: a) :: a Source #

type Succ a = Apply Succ_6989586621679767338Sym0 a Source #

type Pred (arg :: a) :: a Source #

type Pred a = Apply Pred_6989586621679767353Sym0 a Source #

type ToEnum (arg :: Nat) :: a Source #

type FromEnum (arg :: a) :: Nat Source #

type EnumFromTo (arg :: a) (arg :: a) :: [a] Source #

type EnumFromTo a a = Apply (Apply EnumFromTo_6989586621679767363Sym0 a) a Source #

type EnumFromThenTo (arg :: a) (arg :: a) (arg :: a) :: [a] Source #

type EnumFromThenTo a a a = Apply (Apply (Apply EnumFromThenTo_6989586621679767376Sym0 a) a) a Source #

Instances

Instances details
PEnum Bool Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum Ordering Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum Nat Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum () Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum (Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum (Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum (First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum (Last a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum (WrappedMonoid a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum (Identity a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Identity

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

PEnum (Const a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

Associated Types

type Succ arg :: a Source #

type Pred arg :: a Source #

type ToEnum arg :: a Source #

type FromEnum arg :: Nat Source #

type EnumFromTo arg arg :: [a] Source #

type EnumFromThenTo arg arg arg :: [a] Source #

class SEnum a where Source #

Minimal complete definition

sToEnum, sFromEnum

Methods

sSucc :: forall (t :: a). Sing t -> Sing (Apply SuccSym0 t :: a) Source #

default sSucc :: forall (t :: a). (Apply SuccSym0 t :: a) ~ Apply Succ_6989586621679767338Sym0 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_6989586621679767353Sym0 t => 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 #

default sEnumFromTo :: forall (t :: a) (t :: a). (Apply (Apply EnumFromToSym0 t) t :: [a]) ~ Apply (Apply EnumFromTo_6989586621679767363Sym0 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_6989586621679767376Sym0 t) t) t => Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t :: [a]) Source #

Instances

Instances details
SEnum Bool Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Methods

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 :: Nat). 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 Ordering Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Methods

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 :: Nat). 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 Nat Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Methods

sSucc :: forall (t :: Nat). Sing t -> Sing (Apply SuccSym0 t) Source #

sPred :: forall (t :: Nat). Sing t -> Sing (Apply PredSym0 t) Source #

sToEnum :: forall (t :: Nat). Sing t -> Sing (Apply ToEnumSym0 t) Source #

sFromEnum :: forall (t :: Nat). Sing t -> Sing (Apply FromEnumSym0 t) Source #

sEnumFromTo :: forall (t :: Nat) (t :: Nat). Sing t -> Sing t -> Sing (Apply (Apply EnumFromToSym0 t) t) Source #

sEnumFromThenTo :: forall (t :: Nat) (t :: Nat) (t :: Nat). Sing t -> Sing t -> Sing t -> Sing (Apply (Apply (Apply EnumFromThenToSym0 t) t) t) Source #

SEnum () Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Methods

sSucc :: forall (t :: ()). Sing t -> Sing (Apply SuccSym0 t) Source #

sPred :: forall (t :: ()). Sing t -> Sing (Apply PredSym0 t) Source #

sToEnum :: forall (t :: Nat). 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 a => SEnum (Min a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

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 :: Nat). 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 (Max a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

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 :: Nat). 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 (First a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

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 :: Nat). 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 # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

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 :: Nat). 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 (WrappedMonoid a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Semigroup

Methods

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 :: Nat). 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 a => SEnum (Identity a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Identity

Methods

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 :: Nat). 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 (Const a b) Source # 
Instance details

Defined in Data.Singletons.Prelude.Const

Methods

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 :: Nat). 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

data SuccSym0 :: forall a6989586621679767035. (~>) a6989586621679767035 a6989586621679767035 Source #

Instances

Instances details
SEnum a => SingI (SuccSym0 :: TyFun a a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SuppressUnusedWarnings (SuccSym0 :: TyFun a6989586621679767035 a6989586621679767035 -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (SuccSym0 :: TyFun a a -> Type) (arg6989586621679767319 :: a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (SuccSym0 :: TyFun a a -> Type) (arg6989586621679767319 :: a) = Succ arg6989586621679767319

type SuccSym1 (arg6989586621679767319 :: a6989586621679767035) = Succ arg6989586621679767319 Source #

data PredSym0 :: forall a6989586621679767035. (~>) a6989586621679767035 a6989586621679767035 Source #

Instances

Instances details
SEnum a => SingI (PredSym0 :: TyFun a a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SuppressUnusedWarnings (PredSym0 :: TyFun a6989586621679767035 a6989586621679767035 -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (PredSym0 :: TyFun a a -> Type) (arg6989586621679767321 :: a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (PredSym0 :: TyFun a a -> Type) (arg6989586621679767321 :: a) = Pred arg6989586621679767321

type PredSym1 (arg6989586621679767321 :: a6989586621679767035) = Pred arg6989586621679767321 Source #

data ToEnumSym0 :: forall a6989586621679767035. (~>) Nat a6989586621679767035 Source #

Instances

Instances details
SEnum a => SingI (ToEnumSym0 :: TyFun Nat a -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SuppressUnusedWarnings (ToEnumSym0 :: TyFun Nat a6989586621679767035 -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (ToEnumSym0 :: TyFun Nat k2 -> Type) (arg6989586621679767323 :: Nat) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (ToEnumSym0 :: TyFun Nat k2 -> Type) (arg6989586621679767323 :: Nat) = ToEnum arg6989586621679767323 :: k2

type ToEnumSym1 (arg6989586621679767323 :: Nat) = ToEnum arg6989586621679767323 Source #

data FromEnumSym0 :: forall a6989586621679767035. (~>) a6989586621679767035 Nat Source #

Instances

Instances details
SEnum a => SingI (FromEnumSym0 :: TyFun a Nat -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SuppressUnusedWarnings (FromEnumSym0 :: TyFun a6989586621679767035 Nat -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (FromEnumSym0 :: TyFun a Nat -> Type) (arg6989586621679767325 :: a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (FromEnumSym0 :: TyFun a Nat -> Type) (arg6989586621679767325 :: a) = FromEnum arg6989586621679767325

type FromEnumSym1 (arg6989586621679767325 :: a6989586621679767035) = FromEnum arg6989586621679767325 Source #

data EnumFromToSym0 :: forall a6989586621679767035. (~>) a6989586621679767035 ((~>) a6989586621679767035 [a6989586621679767035]) Source #

Instances

Instances details
SEnum a => SingI (EnumFromToSym0 :: TyFun a (a ~> [a]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SuppressUnusedWarnings (EnumFromToSym0 :: TyFun a6989586621679767035 (a6989586621679767035 ~> [a6989586621679767035]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromToSym0 :: TyFun a6989586621679767035 (a6989586621679767035 ~> [a6989586621679767035]) -> Type) (arg6989586621679767327 :: a6989586621679767035) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromToSym0 :: TyFun a6989586621679767035 (a6989586621679767035 ~> [a6989586621679767035]) -> Type) (arg6989586621679767327 :: a6989586621679767035) = EnumFromToSym1 arg6989586621679767327

data EnumFromToSym1 (arg6989586621679767327 :: a6989586621679767035) :: (~>) a6989586621679767035 [a6989586621679767035] Source #

Instances

Instances details
(SEnum a, SingI d) => SingI (EnumFromToSym1 d :: TyFun a [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SuppressUnusedWarnings (EnumFromToSym1 arg6989586621679767327 :: TyFun a6989586621679767035 [a6989586621679767035] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromToSym1 arg6989586621679767327 :: TyFun a [a] -> Type) (arg6989586621679767328 :: a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromToSym1 arg6989586621679767327 :: TyFun a [a] -> Type) (arg6989586621679767328 :: a) = EnumFromTo arg6989586621679767327 arg6989586621679767328

type EnumFromToSym2 (arg6989586621679767327 :: a6989586621679767035) (arg6989586621679767328 :: a6989586621679767035) = EnumFromTo arg6989586621679767327 arg6989586621679767328 Source #

data EnumFromThenToSym0 :: forall a6989586621679767035. (~>) a6989586621679767035 ((~>) a6989586621679767035 ((~>) a6989586621679767035 [a6989586621679767035])) Source #

Instances

Instances details
SEnum a => SingI (EnumFromThenToSym0 :: TyFun a (a ~> (a ~> [a])) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SuppressUnusedWarnings (EnumFromThenToSym0 :: TyFun a6989586621679767035 (a6989586621679767035 ~> (a6989586621679767035 ~> [a6989586621679767035])) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromThenToSym0 :: TyFun a6989586621679767035 (a6989586621679767035 ~> (a6989586621679767035 ~> [a6989586621679767035])) -> Type) (arg6989586621679767331 :: a6989586621679767035) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromThenToSym0 :: TyFun a6989586621679767035 (a6989586621679767035 ~> (a6989586621679767035 ~> [a6989586621679767035])) -> Type) (arg6989586621679767331 :: a6989586621679767035) = EnumFromThenToSym1 arg6989586621679767331

data EnumFromThenToSym1 (arg6989586621679767331 :: a6989586621679767035) :: (~>) a6989586621679767035 ((~>) a6989586621679767035 [a6989586621679767035]) Source #

Instances

Instances details
(SEnum a, SingI d) => SingI (EnumFromThenToSym1 d :: TyFun a (a ~> [a]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

SuppressUnusedWarnings (EnumFromThenToSym1 arg6989586621679767331 :: TyFun a6989586621679767035 (a6989586621679767035 ~> [a6989586621679767035]) -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromThenToSym1 arg6989586621679767331 :: TyFun a6989586621679767035 (a6989586621679767035 ~> [a6989586621679767035]) -> Type) (arg6989586621679767332 :: a6989586621679767035) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromThenToSym1 arg6989586621679767331 :: TyFun a6989586621679767035 (a6989586621679767035 ~> [a6989586621679767035]) -> Type) (arg6989586621679767332 :: a6989586621679767035) = EnumFromThenToSym2 arg6989586621679767331 arg6989586621679767332

data EnumFromThenToSym2 (arg6989586621679767331 :: a6989586621679767035) (arg6989586621679767332 :: a6989586621679767035) :: (~>) a6989586621679767035 [a6989586621679767035] Source #

Instances

Instances details
(SEnum a, SingI d1, SingI d2) => SingI (EnumFromThenToSym2 d1 d2 :: TyFun a [a] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

Methods

sing :: Sing (EnumFromThenToSym2 d1 d2) Source #

SuppressUnusedWarnings (EnumFromThenToSym2 arg6989586621679767332 arg6989586621679767331 :: TyFun a6989586621679767035 [a6989586621679767035] -> Type) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromThenToSym2 arg6989586621679767332 arg6989586621679767331 :: TyFun a [a] -> Type) (arg6989586621679767333 :: a) Source # 
Instance details

Defined in Data.Singletons.Prelude.Enum

type Apply (EnumFromThenToSym2 arg6989586621679767332 arg6989586621679767331 :: TyFun a [a] -> Type) (arg6989586621679767333 :: a) = EnumFromThenTo arg6989586621679767332 arg6989586621679767331 arg6989586621679767333

type EnumFromThenToSym3 (arg6989586621679767331 :: a6989586621679767035) (arg6989586621679767332 :: a6989586621679767035) (arg6989586621679767333 :: a6989586621679767035) = EnumFromThenTo arg6989586621679767331 arg6989586621679767332 arg6989586621679767333 Source #