heftia-effects-0.1.0.0: Handlers for standard effects using Heftia.
Copyright(c) 2023 Yamada Ryo
LicenseMPL-2.0 (see the file LICENSE)
Maintainerymdfield@outlook.jp
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageGHC2021

Control.Effect.Handler.Heftia.Except

Description

Interpreter and elaborator for the Except effect class.

Synopsis

Documentation

elaborateExceptT :: (ThrowI e <| es, Monad m) => CatchS e (Fre es m) ~> Fre es m Source #

Elaborate the Catch effect using the ExceptT monad transformer.

elaborateExceptK :: (ThrowI e <| es, Monad m) => CatchS e (Fre es m) ~> Fre es m Source #

Elaborate the Catch effect using the ContT continuation monad transformer.

interpretThrowT :: Monad m => Fre (ThrowI e ': es) m ~> ExceptT e (Fre es m) Source #

Interpret the Throw effect using the ExceptT monad transformer.

interpretThrowK :: Monad m => Fre (ThrowI e ': es) m a -> Fre es m (Either e a) Source #

Interpret the Throw effect using the ContT continuation monad transformer.