Swift is getting async, structured concurrency and actors

Sebastiaan Koppe mail at skoppe.eu
Thu Dec 31 11:44:14 UTC 2020


On Sunday, 13 December 2020 at 15:49:47 UTC, Paulo Pinto wrote:
> On Sunday, 13 December 2020 at 15:18:53 UTC, Sebastiaan Koppe
>> If we do want coroutines, we should just steal it all, it is 
>> pretty great work.
>
> If you want to bring that into D I advise many of the great 
> talks done by Gor Nishanov, one of the main contributors to the 
> co-routines design, for example
>
> “C++ Coroutines: Under the covers"
>
> https://www.youtube.com/watch?v=8C8NnE1Dg4A

Thanks, I will take a look.

I recently went down the rabbit hole of some C++ proposals around 
senders/receivers and cancellation of async tasks. They have some 
really good ideas. Most of them I am reusing for work. It really 
all comes together: IO, async, cancellation, nursery, structured 
concurrency, streams, etc. There are plenty of different 
approaches in various languages. It would be good to do a 
thorough review of the landscape and look at how those concepts 
could be implemented in D, and pick the one that naturally fits 
the language.

D is really lagging in this respect. It has fibers, but they 
generally use too many resources and aren't portable to platforms 
like WebAssembly.

I really wish I had more time, but I need to finish stuff I 
started.


More information about the Digitalmars-d mailing list