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

Singleraeh.Tuple

Documentation

data SUnit (unit :: ()) where Source #

Constructors

SUnit :: SUnit '() 

Instances

Instances details
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 #

type Demote SUnit Source # 
Instance details

Defined in Singleraeh.Tuple

type Demote SUnit = ()

demoteSUnit :: SUnit unit -> () Source #

data STuple2 sa sb ab where Source #

Constructors

STuple2 :: sa a -> sb b -> STuple2 sa sb '(a, b) 

Instances

Instances details
(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 #

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

Defined in Singleraeh.Tuple

type Demote (STuple2 sa sb :: (a, b) -> Type) = (Demote sa, Demote sb)

demoteSTuple2 :: forall da db sa sb ab. (forall a. sa a -> da) -> (forall b. sb b -> db) -> STuple2 sa sb ab -> (da, db) Source #