Open
Description
#16739 contains a strawman for an innovative, direct style library of futures and channels based on a postulated suspension construct. An alternative version of this library can be based on coroutines. At present this strawman simply postulates the low-level support needed.
It would be good to flesh this out further and base it on a concrete implementation of coroutines such as the ones provided by project Loom. In particular:
- Adapt the strawman so that it runs on virtual threads/coroutines
- Develop realistic examples and test cases
- Develop benchmarks and identify performance bottlenecks
- Develop documentation that motivates the new constructs
#16739 also contains an implementation of choice which requires multi-shot continuations. This part of the code base can be left out.