heftia-effects-0.3.1.0: higher-order effects done right
Copyright(c) 2023 Yamada Ryo
LicenseMPL-2.0 (see the file LICENSE)
Maintainerymdfield@outlook.jp
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageGHC2021

Control.Effect.Interpreter.Heftia.Provider

Description

Elaborator for the Provider effect class.

Synopsis

Documentation

runProvider :: (c g, e g) => (f ~> g) -> (i -> forall x. g x -> f (ctx x)) -> Elab (Provider' c i ctx e) f Source #

Elaborate the Provider effect using the given interpreter.

runProviderT :: (Monad m, MonadTrans t, c (t m), e (t m)) => (i -> forall x. t m x -> m (ctx x)) -> Elab (Provider' c i ctx e) m Source #

Elaborate the Provider effect using the given interpreter for some monad transformer.