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 |
Elaborator for the Provider
effect class.
Synopsis
- runProvider :: (c g, e g) => (f ~> g) -> (i -> forall x. g x -> f (ctx x)) -> Elab (Provider' c i ctx e) f
- 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
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.