Congratulations team about the beta4! :simple_smil...
# language-proposals
d
Congratulations team about the beta4! simple smile I'm pretty excited about the recent keyword reservation! Specially with yield and await. For me that means that a future version will have generators (bidirectional or not) and asynchronous functions (both suspendable functions probably implemented as machine states)! That would be amazing. I have read that you don't have further details on those yet. But I'm curious about not having reserved "await" too. Since .NET released await/async lots of languages including ecmascript 7 or dart have proposals like that. It requires a proper thenable Promise implementation. Also you have to decide wether you want to execute asynchronous functions in parallel or await. As far as I know .net/es7/dart default behavior is to execute in parallel and to wait them with the await keyword. And even when it is not the same, in dart as far as I know it is the opposite behavior, and "go" parallelizes. But anyway I'm missing a keyword reservation for deciding what to await or what to parallelize. Do you have more info about that? Or are you just going to add an extension property like ".await" to a possible Promise implementation that just works on asynchronous functions? --- This was the original question. I have read this channel and found that there was already a talk about this topic. Also I have read stuff about fibers here; and await/async doesn't work like that. Fibers need support from the OS while async/async design not. Also it is even cheaper and doesn't require switching registers/stack pointers or having stacks that would potentially need to grow or could overflow or become expensive when having thousand or millions of suspended small functions. There are further readings on this, and how it is implemented in .NET 4.5 and why it is not a fiber/green thread: http://apmblog.dynatrace.com/2014/10/09/behind-net-4-5-async-scene-performance-impact-asynchronous-programming-c/