From 811d3624c0903b2330f749d19bdbef22890f6e66 Mon Sep 17 00:00:00 2001 From: Seth Thompson Date: Fri, 20 Nov 2015 21:31:44 -0800 Subject: [PATCH 1/4] add more comprehensive overview to README.md --- README.md | 53 ++++++++++++++++++++++++++++++++++------------------- 1 file changed, 34 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 5ef22aa8..a9273e95 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,42 @@ -# WebAssembly Community Group: Design +# WebAssembly Design -This repository contains documents describing the high-level design of -WebAssembly and is part of the -[WebAssembly Community Group](https://www.w3.org/community/webassembly/). +> This repository contains documents describing the design and high-level overview of WebAssembly. -The actual WebAssembly specification is being developed in the -[spec repository](https://github.com/WebAssembly/spec/). High-level design -discussions should continue to be held in the design repository for now so -that the spec work can remain focused. +> The documents and discussions in this repository are part of the [WebAssembly Community Group](https://www.w3.org/community/webassembly/). -**Expect the contents to be in flux: everything is still tentative.** +## Overview -A good starting point is the [high-level design goals](HighLevelGoals.md), -followed by the [FAQ](FAQ.md). +WebAssembly or wasm is a portable, low-level, binary-format abstract syntax tree designed as an efficient target language for compilers. -We've mapped out features we expect to ship: - 1. In [the Minimum Viable Product (MVP)](MVP.md); - 2. Closely [after the MVP](PostMVP.md); - 3. In [future versions](FutureFeatures.md). +WebAssembly is currently being designed as an open standard by a [W3C Community Group](https://www.w3.org/community/webassembly/) 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**: The wasm [AST](AstSemantics.md) is designed to be encoded in a size- and load-time-efficient [binary format](BinaryEncoding.md). WebAssembly aims to execute at native speed by taking advantage of [common hardware capabilities](Portability.md#assumptions-for-efficient-execution) available on a wide range of platforms. + +- **WebAssembly is safe**: WebAssembly describes a memory-safe, sandboxed [execution environment](AstSemantics.md#linear-memory) that may even be implemented inside existing JavaScript virtual machines. When [embedded in the web](Web.md), WebAssembly will enforce the same-origin and permissions security policies of the browser. + +- **WebAssembly is open and debuggable**: WebAssembly is designed to by pretty-printed in a [textual format](TextFormat.md) for debugging, testing, experimenting, optimizing, learning, teaching, and writing programs by hand. The textual format will be used when [viewing the source](FAQ.md#will-webassembly-support-view-source-on-the-web) 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](Web.md). 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](NonWeb.md) embeddings.) + +## More Information + +| Resource | Repository Location | +|--------------------------------------------|--------------------------| +| High Level Goals | [design/HighLevelGoals.md](HighLevelGoals.md) | +| Frequently Asked Questions | [design/FAQ.md](FAQ.md) | +| Language Spec (in progress) | [spec/README.md](https://github.com/WebAssembly/spec) | +| End-to-end prototypes (C++ to browser VMs) | [wasm-e2e/README.md](https://github.com/WebAssembly/wasm-e2e) | + +## Design Process & Contributing + +The actual WebAssembly specification is being developed in the [spec repository](https://github.com/WebAssembly/spec/). For now, high-level design discussions should continue to be held in the design repository, via issues and pull requests, so that the spec work can remain focused. + +We've mapped out features we expect to ship: 1. In [the Minimum Viable Product (MVP)](MVP.md); 2. Closely [after the MVP](PostMVP.md); 3. In [future versions](FutureFeatures.md). Join us: - * On IRC: `irc://irc.w3.org:6667/#webassembly` - * [Contribute](Contributing.md)! -When contributing, please follow our -[Code of Ethics and Professional Conduct](CodeOfConduct.md). + * in the [W3C Community Group](https://www.w3.org/community/webassembly/) + * on IRC: `irc://irc.w3.org:6667/#webassembly` + * by [contributing](Contributing.md)! + +When contributing, please follow our [Code of Ethics and Professional Conduct](CodeOfConduct.md). From ec3bf332ac8bc1645ac0c275ea2b3db864a2c7cd Mon Sep 17 00:00:00 2001 From: Seth Thompson Date: Fri, 20 Nov 2015 21:38:34 -0800 Subject: [PATCH 2/4] fix list spacing --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a9273e95..2a45f0b9 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,11 @@ WebAssembly is currently being designed as an open standard by a [W3C Community The actual WebAssembly specification is being developed in the [spec repository](https://github.com/WebAssembly/spec/). For now, high-level design discussions should continue to be held in the design repository, via issues and pull requests, so that the spec work can remain focused. -We've mapped out features we expect to ship: 1. In [the Minimum Viable Product (MVP)](MVP.md); 2. Closely [after the MVP](PostMVP.md); 3. In [future versions](FutureFeatures.md). +We've mapped out features we expect to ship: + + 1. In [the Minimum Viable Product (MVP)](MVP.md); + 2. Closely [after the MVP](PostMVP.md); + 3. In [future versions](FutureFeatures.md). Join us: From 3700cf342afa0249106a7f3f7373408ddae121f4 Mon Sep 17 00:00:00 2001 From: Seth Thompson Date: Fri, 20 Nov 2015 22:05:54 -0800 Subject: [PATCH 3/4] typos --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2a45f0b9..08d91763 100644 --- a/README.md +++ b/README.md @@ -14,9 +14,9 @@ WebAssembly is currently being designed as an open standard by a [W3C Community - **WebAssembly is safe**: WebAssembly describes a memory-safe, sandboxed [execution environment](AstSemantics.md#linear-memory) that may even be implemented inside existing JavaScript virtual machines. When [embedded in the web](Web.md), WebAssembly will enforce the same-origin and permissions security policies of the browser. -- **WebAssembly is open and debuggable**: WebAssembly is designed to by pretty-printed in a [textual format](TextFormat.md) for debugging, testing, experimenting, optimizing, learning, teaching, and writing programs by hand. The textual format will be used when [viewing the source](FAQ.md#will-webassembly-support-view-source-on-the-web) of wasm modules on the web. +- **WebAssembly is open and debuggable**: WebAssembly is designed to be pretty-printed in a [textual format](TextFormat.md) for debugging, testing, experimenting, optimizing, learning, teaching, and writing programs by hand. The textual format will be used when [viewing the source](FAQ.md#will-webassembly-support-view-source-on-the-web) 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](Web.md). 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](NonWeb.md) embeddings.) +- **WebAssembly is part of the open web platform**: WebAssembly is designed to maintain the versionless, feature-tested, and backwards-compatible [nature of the web](Web.md). 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](NonWeb.md) embeddings. ## More Information From 2061aa390890f39342d404345e1c013dd5f0a0a7 Mon Sep 17 00:00:00 2001 From: Seth Thompson Date: Wed, 25 Nov 2015 23:43:19 -0800 Subject: [PATCH 4/4] change wasm intro line --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 08d91763..e08184a9 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ ## Overview -WebAssembly or wasm is a portable, low-level, binary-format abstract syntax tree designed as an efficient target language for compilers. +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](https://www.w3.org/community/webassembly/) that includes representatives from all major browsers. *Expect the contents of this repository to be in flux: everything is still under discussion.*