WebAssembly Design Documents
Latest commit 107e0be Jan 20, 2017 @mtrofin mtrofin committed on GitHub WebAssembly.instance's pair return property attributes (#962)
Clarified the attributes of the {module, instance} return
Permalink
Failed to load latest commit information.
tools Handle socket timeout. Jun 15, 2015
.gitignore add initial JS API spec (#659) May 3, 2016
BinaryEncoding.md Describe instruction opcode encoding scheme (#926) Jan 10, 2017
CAndC++.md Fix broken links. (#856) Nov 1, 2016
CodeOfConduct.md Fix email, add visibility note. Jun 23, 2015
Contributing.md Contributing: affiliation Oct 8, 2015
DynamicLinking.md Tagging future features with icon. (#839) Oct 28, 2016
Events.md Add Node talk to Events list (#939) Jan 7, 2017
FAQ.md Tagging future features with icon. (#839) Oct 28, 2016
FeatureTest.md Merge PostMVP into FutureFeatures for clarity. (#845) Oct 30, 2016
FutureFeatures.md Fix broken links. (#856) Nov 1, 2016
GC.md Merge PostMVP into FutureFeatures for clarity. (#845) Oct 30, 2016
HighLevelGoals.md Merge PostMVP into FutureFeatures for clarity. (#845) Oct 30, 2016
JITLibrary.md Replace `operation` with `operator` Oct 23, 2015
JS.md WebAssembly.instance's pair return property attributes (#962) Jan 21, 2017
LICENSE Initial commit Apr 29, 2015
MVP.md Merge PostMVP into FutureFeatures for clarity. (#845) Oct 30, 2016
Modules.md Export name uniqueness (#932) Dec 29, 2016
NonWeb.md Replace `opcode` and `operation` to `operator. Oct 23, 2015
Nondeterminism.md Merge PostMVP into FutureFeatures for clarity. (#845) Oct 30, 2016
Portability.md Structured stack (#813) Oct 11, 2016
README.md fix typo (#862) Nov 3, 2016
Rationale.md Merge PostMVP into FutureFeatures for clarity. (#845) Oct 30, 2016
Security.md Merge PostMVP into FutureFeatures for clarity. (#845) Oct 30, 2016
Semantics.md Define the exception type for stack overflows in JS.md Dec 14, 2016
TextFormat.md Fix a typo and an error (#866) Nov 10, 2016
Tooling.md fix improperly spaced markdown blocks and typos (for formatting on we… Oct 26, 2016
UseCases.md Added "symmetric computations across multiple nodes" Mar 31, 2016
Web.md Merge PostMVP into FutureFeatures for clarity. (#845) Oct 30, 2016

README.md

WebAssembly Design

This repository contains documents describing the design and high-level overview of WebAssembly.

The documents and discussions in this repository are part of the WebAssembly Community Group.

Overview

WebAssembly or wasm is a new, portable, size- and load-time-efficient format suitable for compilation to the web.

WebAssembly is currently being designed as an open standard by a W3C Community Group that includes representatives from all major browsers. Expect the contents of this repository to be in flux: everything is still under discussion.

  • WebAssembly is efficient and fast: Wasm bytecode is designed to be encoded in a size- and load-time-efficient binary format. WebAssembly aims to execute at native speed by taking advantage of common hardware capabilities available on a wide range of platforms.

  • WebAssembly is safe: WebAssembly describes a memory-safe, sandboxed execution environment that may even be implemented inside existing JavaScript virtual machines. When embedded in the web, WebAssembly will enforce the same-origin and permissions security policies of the browser.

  • WebAssembly is open and debuggable: WebAssembly is designed to be pretty-printed in a textual format for debugging, testing, experimenting, optimizing, learning, teaching, and writing programs by hand. The textual format will be used when viewing the source of wasm modules on the web.

  • WebAssembly is part of the open web platform: WebAssembly is designed to maintain the versionless, feature-tested, and backwards-compatible nature of the web. WebAssembly modules will be able to call into and out of the JavaScript context and access browser functionality through the same Web APIs accessible from JavaScript. WebAssembly also supports non-web embeddings.

More Information

Resource Repository Location
High Level Goals design/HighLevelGoals.md
Frequently Asked Questions design/FAQ.md
Language Specification spec/README.md

Design Process & Contributing

The WebAssembly specification is being developed in the spec repository. For now, high-level design discussions should continue to be held in the design repository, via issues and pull requests, so that the specification work can remain focused.

We've mapped out features we expect to ship:

  1. An initial Minimum Viable Product (MVP) release;
  2. And soon after in future versions.

Join us:

When contributing, please follow our Code of Ethics and Professional Conduct.