4 ms·
Take a look at ConcurrentML and its implementations in Racket and Guile. Schemes have stackful coroutines (as a side effect of supporting delimited continuation
by nsm 3y ago
Take a look at ConcurrentML and its implementations in Racket and Guile. Schemes have stackful coroutines (as a side effect of supporting delimited continuations), and CML builds green thread like semantics on top of that with a small set of elegant primitives, including cancellation.
As an aside, when folks mention algebraic effects in statically typed languages, delimited continuations and effects are equally powerful (possibly identical?). IMO effects seem to be about type safety and static typing, which does allow some neat optimizations.