heftia-effects-0.4.0.0: higher-order effects done right
Copyright(c) 2023 Sayo Koyoneda
LicenseMPL-2.0 (see the LICENSE file)
Maintainerymdfield@outlook.jp
Portabilityportable
Safe HaskellNone
LanguageGHC2021

Control.Monad.Hefty.Reader

Description

Interpreters for the Ask / Local effects.

Synopsis

Documentation

runReader :: forall r (eh :: [(Type -> Type) -> Type -> Type]) (ef :: [Type -> Type]). r -> Eff (Local r ': eh) (Ask r ': ef) ~> Eff eh ef Source #

runLocal :: forall r (eh :: [(Type -> Type) -> Type -> Type]) (ef :: [EffectF]). Ask r <| ef => Eff (Local r ': eh) ef ~> Eff eh ef Source #

Elaborate the Local effect.

elabLocal :: forall r (eh :: [EffectH]) (ef :: [EffectF]). Ask r <| ef => Local r ~~> Eff eh ef Source #

runAsk :: forall r (ef :: [Type -> Type]) (eh :: [EffectH]). r -> Eff eh (Ask r ': ef) ~> Eff eh ef Source #

Interpret the Ask effect.