Data.Singletons.TH

Primary Template Haskell generation functions

singletons

singletonsOnly

genSingletons

promote

promoteOnly

genDefunSymbols

genPromotions

Functions to generate equality instances

promoteEqInstances

promoteEqInstance

singEqInstances

singEqInstance

singEqInstancesOnly

singEqInstanceOnly

singDecideInstances

singDecideInstance

Functions to generate Ord instances

promoteOrdInstances

promoteOrdInstance

singOrdInstances

singOrdInstance

Functions to generate Bounded instances

promoteBoundedInstances

promoteBoundedInstance

singBoundedInstances

singBoundedInstance

Functions to generate Enum instances

promoteEnumInstances

promoteEnumInstance

singEnumInstances

singEnumInstance

Utility functions

cases

sCases

Basic singleton definitions

data family Sing (a :: k)

Auxiliary definitions

class PEq kproxy

type family If k (cond :: Bool) (tru :: k) (fls :: k) :: k where ...

sIf

type family (a :: Bool) :&& (a :: Bool) :: Bool where ...

class SEq k

class POrd kproxy

class SOrd a

type family ThenCmp (a :: Ordering) (a :: Ordering) :: Ordering where ...

sThenCmp

type family Foldl (a :: TyFun b (TyFun a b -> Type) -> Type) (a :: b) (a :: [a]) :: b where ...

sFoldl

type family Any k :: k where ...

class SDecide k

data (k :~: a) b

data Void

type Refuted a

data Decision a

data Proxy k t

data SomeSing k

type family Error (str :: k0) :: k

data ErrorSym0 l

type TrueSym0

type FalseSym0

type LTSym0

type EQSym0

type GTSym0

type Tuple0Sym0

data Tuple2Sym0 l

data Tuple2Sym1 l l

type Tuple2Sym2 t t

data Tuple3Sym0 l

data Tuple3Sym1 l l

data Tuple3Sym2 l l l

type Tuple3Sym3 t t t

data Tuple4Sym0 l

data Tuple4Sym1 l l

data Tuple4Sym2 l l l

data Tuple4Sym3 l l l l

type Tuple4Sym4 t t t t

data Tuple5Sym0 l

data Tuple5Sym1 l l

data Tuple5Sym2 l l l

data Tuple5Sym3 l l l l

data Tuple5Sym4 l l l l l

type Tuple5Sym5 t t t t t

data Tuple6Sym0 l

data Tuple6Sym1 l l

data Tuple6Sym2 l l l

data Tuple6Sym3 l l l l

data Tuple6Sym4 l l l l l

data Tuple6Sym5 l l l l l l

type Tuple6Sym6 t t t t t t

data Tuple7Sym0 l

data Tuple7Sym1 l l

data Tuple7Sym2 l l l

data Tuple7Sym3 l l l l

data Tuple7Sym4 l l l l l

data Tuple7Sym5 l l l l l l

data Tuple7Sym6 l l l l l l l

type Tuple7Sym7 t t t t t t t

data CompareSym0 l

data ThenCmpSym0 l

data FoldlSym0 l

class SuppressUnusedWarnings t