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

Singleraeh.Demote

Synopsis

Documentation

class Demotable sk where Source #

Singleton types which may be demoted.

Associated Types

type Demote sk :: Type Source #

Demoted type.

Methods

demote :: forall k. sk k -> Demote sk Source #

Demote a term of the singleton sk.

Instances

Instances details
Demotable SNat Source # 
Instance details

Defined in Singleraeh.Demote

Associated Types

type Demote SNat Source #

Methods

demote :: forall (k1 :: k). SNat k1 -> Demote SNat Source #

Demotable SUnit Source # 
Instance details

Defined in Singleraeh.Tuple

Associated Types

type Demote SUnit Source #

Methods

demote :: forall (k1 :: k). SUnit k1 -> Demote SUnit Source #

Demotable SBool Source # 
Instance details

Defined in Singleraeh.Bool

Associated Types

type Demote SBool Source #

Methods

demote :: forall (k1 :: k). SBool k1 -> Demote SBool Source #

Demotable SChar Source # 
Instance details

Defined in Singleraeh.Demote

Associated Types

type Demote SChar Source #

Methods

demote :: forall (k1 :: k). SChar k1 -> Demote SChar Source #

Demotable SSymbol Source # 
Instance details

Defined in Singleraeh.Demote

Associated Types

type Demote SSymbol Source #

Methods

demote :: forall (k1 :: k). SSymbol k1 -> Demote SSymbol Source #

Demotable sa => Demotable (SMaybe sa :: Maybe a -> Type) Source # 
Instance details

Defined in Singleraeh.Maybe

Associated Types

type Demote (SMaybe sa) Source #

Methods

demote :: forall (k1 :: k). SMaybe sa k1 -> Demote (SMaybe sa) Source #

Demotable sa => Demotable (SList sa :: [a] -> Type) Source # 
Instance details

Defined in Singleraeh.List

Associated Types

type Demote (SList sa) Source #

Methods

demote :: forall (k1 :: k). SList sa k1 -> Demote (SList sa) Source #

(Demotable sl, Demotable sr) => Demotable (SEither sl sr :: Either l r -> Type) Source # 
Instance details

Defined in Singleraeh.Either

Associated Types

type Demote (SEither sl sr) Source #

Methods

demote :: forall (k1 :: k). SEither sl sr k1 -> Demote (SEither sl sr) Source #

(Demotable sa, Demotable sb) => Demotable (STuple2 sa sb :: (a, b) -> Type) Source # 
Instance details

Defined in Singleraeh.Tuple

Associated Types

type Demote (STuple2 sa sb) Source #

Methods

demote :: forall (k1 :: k). STuple2 sa sb k1 -> Demote (STuple2 sa sb) Source #

(Demotable sa, Demotable sb, Demotable sc) => Demotable (STuple3 sa sb sc :: (a, b, c) -> Type) Source # 
Instance details

Defined in Singleraeh.Tuple

Associated Types

type Demote (STuple3 sa sb sc) Source #

Methods

demote :: forall (k1 :: k). STuple3 sa sb sc k1 -> Demote (STuple3 sa sb sc) Source #