singleraeh-0.4.0: raehik's singletons
Safe HaskellSafe-Inferred
LanguageGHC2021

Singleraeh.SingI

Documentation

class SingI (a :: k) where Source #

Associated Types

type Sing :: k -> Type Source #

Methods

sing' :: Sing a Source #

Instances

Instances details
KnownNat n => SingI (n :: Nat) Source # 
Instance details

Defined in Singleraeh.SingI

Associated Types

type Sing :: k -> Type Source #

Methods

sing' :: Sing n Source #

SingBool b => SingI (b :: Bool) Source # 
Instance details

Defined in Singleraeh.SingI

Associated Types

type Sing :: k -> Type Source #

Methods

sing' :: Sing b Source #

KnownChar ch => SingI (ch :: Char) Source # 
Instance details

Defined in Singleraeh.SingI

Associated Types

type Sing :: k -> Type Source #

Methods

sing' :: Sing ch Source #

KnownSymbol str => SingI (str :: Symbol) Source # 
Instance details

Defined in Singleraeh.SingI

Associated Types

type Sing :: k -> Type Source #

Methods

sing' :: Sing str Source #

SingMaybe (SingI :: ak -> Constraint) (Sing :: ak -> Type) ma => SingI (ma :: Maybe ak) Source # 
Instance details

Defined in Singleraeh.SingI

Associated Types

type Sing :: k -> Type Source #

Methods

sing' :: Sing ma Source #

SingEither (SingI :: lk -> Constraint) (SingI :: rk -> Constraint) (Sing :: lk -> Type) (Sing :: rk -> Type) elr => SingI (elr :: Either lk rk) Source # 
Instance details

Defined in Singleraeh.SingI

Associated Types

type Sing :: k -> Type Source #

Methods

sing' :: Sing elr Source #

SingTuple2 (SingI :: lk -> Constraint) (SingI :: rk -> Constraint) (Sing :: lk -> Type) (Sing :: rk -> Type) lr => SingI (lr :: (lk, rk)) Source # 
Instance details

Defined in Singleraeh.SingI

Associated Types

type Sing :: k -> Type Source #

Methods

sing' :: Sing lr Source #

sing :: forall {k} (a :: k). SingI a => Sing a Source #