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

Control.Monad.Hefty.Output

Description

 
Synopsis

Documentation

runOutputEff :: forall o (ef :: [EffectF]) (eh :: [EffectH]). (o -> Eff eh ef ()) -> Eff eh (Output o ': ef) ~> Eff eh ef Source #

ignoreOutput :: forall o (ef :: [Type -> Type]) (eh :: [EffectH]) x. Eff eh (Output o ': ef) x -> Eff eh ef x Source #

runOutputList :: forall o a (ef :: [Type -> Type]). Eff ('[] :: [EffectH]) (Output o ': ef) a -> Eff ('[] :: [EffectH]) ef ([o], a) Source #

runOutputMonoid :: forall o w a (ef :: [Type -> Type]). Monoid w => (o -> w) -> Eff ('[] :: [EffectH]) (Output o ': ef) a -> Eff ('[] :: [EffectH]) ef (w, a) Source #

Run an Output effect by transforming into a monoid.