WebAssembly / WebAssembly/binaryen

Steps for supporting a language..

Open
#1,312 44 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
WebAssembly
Stars
8.6k
Forks
885
Avg merge
1d 19h
Merged PRs (30d)
69

Description

Apologies in advance as I'm just not sure where a general WebAssembly dev chat might be taking place.

What are the "proper" steps for bringing a language over to WebAssembly presently, especially a language built on LLVM? I haven't been able to find any kind of documentation or clearcut discussion that revolve around this so far.

I've been looking at possibly using Opal as a base, however since Crystal is based on LLVM, I think it would be more correct / sane to bring it directly over to WebAssembly. Could someone please paint a broad stroked picture (add details if you wish) of what the "proper" way to tackle such an effort would be at the moment?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by reviewing how Binaryen relates to WebAssembly language toolchains and the issue's references to Opal, Crystal, and LLVM; done means producing a clear, current set of steps for bringing an LLVM-based language to WebAssembly.

Written by the indexing model from the issue text.

Assessment

Tech stack
crystal, wasm
Domain
compilers, documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.