Proposal for porting D runtime to WebAssembly
Nick Sabalausky (Abscissa)
SeeWebsiteToContactMe at semitwist.com
Sat Nov 23 23:21:49 UTC 2019
On 11/23/19 3:48 PM, Sebastiaan Koppe wrote:
> On Saturday, 23 November 2019 at 15:23:41 UTC, Alexandru Ermicioi wrote:
>>
>> I was wondering whats your position on Fibers?
>
> I am not going to support them in this initial port. And to be honest I
> rather see us moving towards stackless coroutines.
I really hope you're right. I've been pushing for those for years, but
never got the impression anyone else cared. The fact that C# has had
them for eons and D still seems to have no interest in coroutines that
*don't* involve the overhead of fibers bothers me to no end.
I did started working on a couple DIPs for them, though. Interestingly,
I just found out today about C++'s proposed coroutines and was shocked
by how similar they are to what I was designing; even right down to
details like how the existence of a yield instruction is what triggers
the compiler to treat the function as a coroutine, and the requirement
that a coroutine's return type be a special type that includes the state
information.
Still, a few differences, though. For example, unlike the C++ proposal,
I'm hoping to avoid the need for additional keywords and heap
allocation. And I also started a secondary DIP that builds on the
coroutine foundation to make a much cleaner user-experience using the
coroutines to generate ranges (what I would expect to be the most common
use-case).
More information about the Digitalmars-d-announce
mailing list