Second Draft: Coroutines
Richard Andrew Cattermole (Rikki)
richard at cattermole.co.nz
Thu Dec 12 10:36:50 UTC 2024
Stackless coroutines, is a way to enable asynchronous
programming, for lesser skilled and less knowledgable people
whilst offering efficient processing of events, safely.
This version of the proposal has been rewritten to account for a
lack of understanding on the separation of library code versus
what the language is offering.
And a few changes related to yielding. Yielding is no longer
guaranteed to be implicit. You may explicitly yield using an
``await`` statement should you wish to. The library type must
support implicit yielding if you wish to use it. Both may be used
on the same type, it is entirely dependent upon the called
methods attributes.
Lastly, the changes have been made to simplify the descriptor to
make the implementation within the compiler a little bit easier.
It does mean that you as a library author have no way to know
about the functions in the state machine (not that you could have
done much with them).
Current:
https://gist.github.com/rikkimax/fe2578e1dfbf66346201fd191db4bdd4/649a5a6cc68c4bfe9f5a62f746a3a90f6b4beaf4
Latest:
https://gist.github.com/rikkimax/fe2578e1dfbf66346201fd191db4bdd4
More information about the dip.development
mailing list