| Copyright | (c) 2023 Yamada Ryo |
|---|---|
| License | MPL-2.0 (see the file LICENSE) |
| Maintainer | ymdfield@outlook.jp |
| Stability | experimental |
| Portability | portable |
| Safe Haskell | Safe-Inferred |
| Language | GHC2021 |
Control.Effect.Handler.Heftia.Provider
Description
Elaborator for the Provider effect class.
Synopsis
- elaborateProvider :: (c h, e h) => (f ~> h) -> (forall x. i -> h x -> f (g x)) -> Elaborator (ProviderS c e i g) f
- elaborateProviderT :: (Monad m, MonadTrans t, c (t m), e (t m)) => (forall x. i -> t m x -> m (g x)) -> Elaborator (ProviderS c e i g) m
Documentation
elaborateProvider :: (c h, e h) => (f ~> h) -> (forall x. i -> h x -> f (g x)) -> Elaborator (ProviderS c e i g) f Source #
Elaborate the Provider effect using the given interpreter.
elaborateProviderT :: (Monad m, MonadTrans t, c (t m), e (t m)) => (forall x. i -> t m x -> m (g x)) -> Elaborator (ProviderS c e i g) m Source #
Elaborate the Provider effect using the given interpreter for some
monad transformer.