WebAssembly / WebAssembly/tool-conventions

On enabling post-MVP features by default

Open
#126 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
WebAssembly
Stars
372
Forks
75
PR merge metrics
No merged PRs in 30d

Description

In a recent Binaryen PR the question of when to enable post-MVP features in tooling came up. In particular, since the mutable-global proposal had been finished meanwhile, the suggestion there was to enable the feature by default in Binaryen (and have a Default feature set to target finished features). On the AssemblyScript side, a good strategy seems to be to enable finished proposals by default as soon as our toolchain supports them in a stable manner, closely aligning with the standardization process. Until there is some sort of feature detection this also means: If a targeted engine supports more than the finished proposals, those must be explicitly enabled in tooling. Likewise, if a targeted engine supports less than the finished proposals, those must be explicitly disabled in tooling.

As suggested by @kripken I'm opening this issue so we can coordinate.

Contributor guide

No contributing guide indexed for this repository

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

Start by reading the linked Binaryen PR and the finished-proposals list to understand the proposed default-feature policy. Then review how AssemblyScript and related tooling currently coordinate feature support; done means reaching and documenting an agreed policy for enabling finished proposals and handling engines with different support levels.

Written by the indexing model from the issue text.

Assessment

Tech stack
wasm
Domain
tooling
Issue type
Feature
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.