classy-effects-0.1.0.0: An interface for a handler-independent, typeclass-based effect system.
Copyright(c) 2023 Yamada Ryo
LicenseMPL-2.0 (see the file LICENSE)
Maintainerymdfield@outlook.jp
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageGHC2021

Control.Effect.Class.Reader

Description

 

Documentation

class Ask (r :: Type) f where Source #

Methods

ask :: f r Source #

Instances

Instances details
SendIns (AskI r) f => Ask r (EffectsVia EffectDataHandler f) Source # 
Instance details

Defined in Control.Effect.Class.Reader

class Local r f where Source #

Methods

local :: (r -> r) -> f a -> f a Source #

Instances

Instances details
SendSig (LocalS r) f => Local r (EffectsVia EffectDataHandler f :: Type -> TYPE LiftedRep) Source # 
Instance details

Defined in Control.Effect.Class.Reader

Methods

local :: forall (a :: k). (r -> r) -> EffectsVia EffectDataHandler f a -> EffectsVia EffectDataHandler f a Source #

data AskI (r :: Type) (a :: Type) where Source #

Constructors

Ask :: forall r. AskI r r 

type AskS r = LiftIns (AskI r) Source #

data LocalS (r :: Type) f (a :: Type) where Source #

Constructors

Local :: forall r f a. (r -> r) -> (f a) -> LocalS r f a 

Instances

Instances details
HFunctor (LocalS r) Source # 
Instance details

Defined in Control.Effect.Class.Reader

Methods

hfmap :: forall (f :: Type -> Type) (g :: Type -> Type). (f :-> g) -> LocalS r f :-> LocalS r g #

class (Ask r f, Local r f) => Reader r (f :: Type -> Type) Source #

Instances

Instances details
(Ask r (EffectsVia EffectDataHandler f), Local r (EffectsVia EffectDataHandler f)) => Reader r (EffectsVia EffectDataHandler f) Source # 
Instance details

Defined in Control.Effect.Class.Reader

type ReaderD r = (:+:) (LocalS r) (LiftIns (AskI r)) Source #

pattern AskS :: () => a_6989586621679052038 ~ r => LiftIns (AskI r) f a_6989586621679052038 Source #

asks :: (Ask r f, Functor f) => (r -> a) -> f a Source #