data-effects-0.1.1.0: A basic framework for effect systems based on effects represented by GADTs.
Safe HaskellSafe-Inferred
LanguageGHC2021

Data.Effect.Unlift

Documentation

data UnliftBase b f (a :: Type) where Source #

Constructors

WithRunInBase :: ((forall x. f x -> b x) -> b a) -> UnliftBase b f a 

Instances

Instances details
() => HFunctor (UnliftBase b) Source # 
Instance details

Defined in Data.Effect.Unlift

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> UnliftBase b f :-> UnliftBase b g #

withRunInBase'' :: forall key (b :: Type -> Type) (a :: Type) f. SendSigBy key (UnliftBase b) f => ((forall (x :: Type). f x -> b x) -> b a) -> f a Source #

withRunInBase' :: forall tag (b :: Type -> Type) (a :: Type) f. SendSig (TagH (UnliftBase b) tag) f => ((forall (x :: Type). f x -> b x) -> b a) -> f a Source #

withRunInBase :: forall (b :: Type -> Type) (a :: Type) f. SendSig (UnliftBase b) f => ((forall (x :: Type). f x -> b x) -> b a) -> f a Source #

pattern WithRunInIO :: ((f ~> IO) -> IO a) -> UnliftIO f a Source #

withRunInIO :: UnliftIO <<: f => ((f ~> IO) -> IO a) -> f a Source #

withRunInIO' :: forall tag f a. (UnliftIO ## tag) <<: f => ((f ~> IO) -> IO a) -> f a Source #

withRunInIO'' :: forall key f a. SendSigBy key UnliftIO f => ((f ~> IO) -> IO a) -> f a Source #