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

Data.Effect.Select

Documentation

data Select r :: Effect where Source #

Constructors

Select :: ((a -> r) -> a) -> Select r f a 

Instances

Instances details
FirstOrder (Select r) Source # 
Instance details

Defined in Data.Effect.Select

HFunctor (Select r) Source # 
Instance details

Defined in Data.Effect.Select

Methods

hfmap :: (forall x. f x -> g x) -> Select r f a -> Select r g a #

type LabelOf (Select r) Source # 
Instance details

Defined in Data.Effect.Select

type OrderOf (Select r) Source # 
Instance details

Defined in Data.Effect.Select

select'_ :: forall (a :: Type) (r :: Type) f es ff c. (Free c ff, f ~ Eff ff es, In (Select r) es) => ((a -> r) -> a) -> f a Source #

select'' :: forall tag (a :: Type) (r :: Type) f es ff c. (Free c ff, f ~ Eff ff es, (:>) (Tagged tag (Select r)) es) => ((a -> r) -> a) -> f a Source #

select' :: forall key (a :: Type) (r :: Type) f es ff c. (Free c ff, f ~ Eff ff es, Has key (Select r) es) => ((a -> r) -> a) -> f a Source #

select :: forall (a :: Type) (r :: Type) f es ff c. (Free c ff, f ~ Eff ff es, (:>) (Select r) es) => ((a -> r) -> a) -> f a Source #