Skip to content

WebAssembly/stack-switching

Repository files navigation

Stack-Switching Proposal for WebAssembly

This repository is a clone of WebAssembly/spec. It is meant for discussion, prototype specification, and implementation of a proposal to add support for stack-switching.

See the explainer for a high-level summary of the proposal.

Previous proposals

The current explainer represents the unification of two previous proposals: Typed Continuations (wasmfx) and Bag of Stacks (bos). (The explainers have now been unified. Once the reference interpreter and examples are adapted for the unified proposal this section will be removed from the README.)

Typed Continuations

  • See the explainer for a high-level summary of the proposal.

  • See the overview for a more formal description of the proposal.

  • An implementation is available as an extension to the reference interpreter. It is accesible from the wasmfx branch of this repository.

  • See the examples for Wasm code for implementing various different features including lightweight threads, actors, and async/await.

Bag of Stacks Proposal

  • See the explainer for a high-level summary of the proposal.

Original README from upstream repository follows.


CI for specs CI for interpreter & tests

spec

This repository holds a prototypical reference implementation for WebAssembly, which is currently serving as the official specification. Eventually, we expect to produce a specification either written in human-readable prose or in a formal specification language.

It also holds the WebAssembly testsuite, which tests numerous aspects of conformance to the spec.

View the work-in-progress spec at webassembly.github.io/spec.

At this time, the contents of this repository are under development and known to be "incomplet and inkorrect".

Participation is welcome. Discussions about new features, significant semantic changes, or any specification change likely to generate substantial discussion should take place in the WebAssembly design repository first, so that this spec repository can remain focused. And please follow the guidelines for contributing.

citing

For citing WebAssembly in LaTeX, use this bibtex file.