dlang / project-ideas

Collection of impactful projects in the D ecosystem
36 stars 12 forks source link

Add WebAssembly support to the language and to dmd #109

Open PetarKirov opened 5 months ago

PetarKirov commented 5 months ago

Description

What are rough milestones of this project?

The project can be split in two:

and each one can be worked on to some extent independently from the other (e.g. the webassembly backend will compile programs in "BetterC" mode until druntime and phobos are ported.

How does this project help the D community?

It expands the range of platforms and uses cases that D supports

Recommended skills

Point of Contact

References

<NG discussions, GitHub PRs, Bugzilla issues, ...>

Herringway commented 5 months ago

I can definitely see value in druntime support (#108 may be related), but what value does DMD support have? I don't think fast compilation is guaranteed anymore with the major backend changes required for that.

Would this cover the emscripten platform as well? A number of pre-WASI projects (such as SDL) out there only support it, and it may be worth considering for compatibility.

mdparker commented 5 months ago

WebASM support for DRuntime has filtered up our project list. We had a discussion about it in a recent planning session. There's no appetite for doing anything in dmd for it right now.

maxhaton commented 5 months ago

Merging the druntimes of DMD and LDC would go a long way. There's a lot of wasm crap floating around that should really be upstreamed.