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

Control.Monad.Hefty.Log

Description

Interpreters for the co-log ecosystem.

The interface is similar to co-log-polysemy.

Documentation

runLogAsOutput :: forall msg (ef :: [EffectF]) (eh :: [EffectH]). Output msg <| ef => Eff eh (Log msg ': ef) ~> Eff eh ef Source #

runOutputAsLog :: forall msg (ef :: [EffectF]) (eh :: [EffectH]). Log msg <| ef => Eff eh (Output msg ': ef) ~> Eff eh ef Source #

runLogAction :: forall (eh :: [EffectH]) (ef :: [EffectF]) msg. LogAction (Eff eh ef) msg -> Eff eh (Log msg ': ef) ~> Eff eh ef Source #

runLogActionEmbed :: forall (m :: EffectF) (ef :: [EffectF]) msg (eh :: [EffectH]). m <| ef => LogAction m msg -> Eff eh (Log msg ': ef) ~> Eff eh ef Source #