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).
Latest: https://gist.github.com/rikkimax/fe2578e1dfbf66346201fd191db4bdd4