To my understanding, delimited continuations and coroutines are equivalent in power. Out of curiosity, can delimited continuations be implemented as efficiently (in Rust or otherwise) as stackless coroutines?
These don’t look like continuations to me, just ways to use generators? Continuations would involve reifying the current control flow into a value, which these examples don’t seem to do and still rely on generators to yield control.
Because of this tiny implementation we are able to express any async flow construct with less code than relying on something like async/await or callbacks.
https://youtu.be/uRbqLGj_6mI?si=kgKKjpCnehJ9bpIG
https://github.com/neurosnap/starfx https://github.com/thefrontside/effection/tree/v3