heftia-effects-0.3.1.0: higher-order effects done right
Safe HaskellSafe-Inferred
LanguageGHC2021

Control.Effect.Interpreter.Heftia.ShiftReset

Documentation

evalShift :: (MonadFreer c fr, Union u, c (Eff u fr '[] ef), HFunctor (u '[])) => Eff u fr '[Shift r] ef r -> Eff u fr '[] ef r Source #

runShift :: forall r a ef fr u c. (MonadFreer c fr, Union u, c (Eff u fr '[] ef), HFunctor (u '[])) => (a -> Eff u fr '[] ef r) -> Eff u fr '[Shift r] ef a -> Eff u fr '[] ef r Source #

withShift :: (MonadFreer c fr, Union u, c (Eff u fr '[] '[LiftIns (Eff u fr eh ef)]), c (Eff u fr eh ef), HFunctor (u '[])) => Eff u fr '[Shift r] '[LiftIns (Eff u fr eh ef)] r -> Eff u fr eh ef r Source #

runShift_ :: (MonadFreer c fr, Union u, c (Eff u fr eh ef), HFunctor (u eh)) => Eff u fr (Shift_ ': eh) ef ~> Eff u fr eh ef Source #

runReset :: (Freer c fr, HFunctorUnion u, ForallHFunctor u eh) => Eff u fr (Reset ': eh) ef ~> Eff u fr eh ef Source #