Co-routines The interface is intentionally chosen to be the same as in transf.hs
| The yield request: reporting a value of type e and suspending the coroutine. Resuming with the value of type b
:: a typeCtrl KGHC 10.0.0.20260917 · lts/ghc-10.0.x · fc4e598 · 2026-10-11
Moduleextensible-effects-5.0.0.1Haskell2010
Coroutines implemented with extensible effects
Co-routines The interface is intentionally chosen to be the same as in transf.hs
| The yield request: reporting a value of type e and suspending the coroutine. Resuming with the value of type b
Return a pure value
Yield a value of type a and suspend the coroutine.
Launch a thread and report its status
Status of a thread: done or reporting the value of the type a (For simplicity, a co-routine reports a value but accepts unit)
Type parameter r is the effect we're yielding from.
Type parameter a is the type that is yielded.
Type parameter w is the type of the value returned from the
coroutine when it has completed.