Skip to content

Add WebAssembly support to the language and to dmd #109

@PetarKirov

Description

@PetarKirov

Description

  • Implement toolchain libraries for working with WebAssmebly:
    • Assembling WAT / WAST (WebAssembly Text format) files to WASM (WebAssembly Binary format)
    • Disassembling WASM to WAT/WAST
    • Builder API for generating WASM modules programatically
    • Linker - link multiple .wasm files into a single .wasm file
  • Implement WebAssembly compiler backend in D and integrate it with dmd
  • Port druntime to WebAssembly + WASI
  • Port phobos to WebAssembly + WASI

What are rough milestones of this project?

The project can be split in two:

  • adding WebAssembly backend to dmd
  • porting Druntime and Phobos to WebAssembly and using LDC for D->Wasm compilation

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

  • Bytecode-based virtual machines
  • Compiler development

Point of Contact

References

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    dmdprojects related to dmddruntimeprojects related to druntimeindustrySomething that is interesting to the industrial users of D

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions