From bf2184fd6daf4e51109c27ccaff8b826d63bd184 Mon Sep 17 00:00:00 2001 From: JF Bastien Date: Thu, 4 Jun 2015 15:50:23 -0700 Subject: Add a new feature test section, link to it. This is an initial skeleton. It's important to help people understand what we mean by feature test, and we've discussed it enough that I think we have a basic agreement of *what* we want to do, just not design of exactly *how* to do it. --- EssentialPostMVPFeatures.md | 3 ++- FeatureTest.md | 11 +++++++++++ FutureFeatures.md | 2 +- HighLevelGoals.md | 14 +++++++------- 4 files changed, 21 insertions(+), 9 deletions(-) create mode 100644 FeatureTest.md diff --git a/EssentialPostMVPFeatures.md b/EssentialPostMVPFeatures.md index 03ce2b2..aea0a35 100644 --- a/EssentialPostMVPFeatures.md +++ b/EssentialPostMVPFeatures.md @@ -4,7 +4,8 @@ This is a list of essential features that are known to be needed ASAP, but were removed from [the MVP](MVP.md) since there was not (yet) a portably-efficient polyfill via JavaScript. There is a much bigger [list of features](FutureFeatures.md) that will be added after this list, -prioritized by feedback and experience. +prioritized by feedback and experience. These features will be available under +[feature tests](FeatureTest.md). ## Threads * Provide low-level buildings blocks for pthreads-style shared memory: shared memory, diff --git a/FeatureTest.md b/FeatureTest.md new file mode 100644 index 0000000..2b8a79f --- /dev/null +++ b/FeatureTest.md @@ -0,0 +1,11 @@ +# Feature Test + +Any feature not present in [MVP](MVP.md) will have a corresponding feature +test. This allows polyfills to elegantly emulate a feature, and allows +developers to fallback to another implementation if they so desire. + +Feature tests will be available from WebAssembly itself, as well as from +JavaScript. + +Details +[are still be hashed out](https://github.com/WebAssembly/spec/issues/90). diff --git a/FutureFeatures.md b/FutureFeatures.md index 30ee03e..f33bc58 100644 --- a/FutureFeatures.md +++ b/FutureFeatures.md @@ -5,7 +5,7 @@ These are features that make sense in the context of the of the [Minimum Viable Product](MVP.md) or the [essential post-MVP feature set](EssentialPostMVPFeatures.md) which are expected to be standardized immediately after the MVP. These will be prioritized based on -developer feedback. +developer feedback, and will be available under [feature tests](FeatureTest.md). ## Great tooling support This is covered in the [tooling](Tooling.md) section. diff --git a/HighLevelGoals.md b/HighLevelGoals.md index 56c1bdb..d052553 100644 --- a/HighLevelGoals.md +++ b/HighLevelGoals.md @@ -4,20 +4,20 @@ to serve as a compilation target which can be compiled to execute at native speed by taking advantage of common hardware capabilities. 2. Specify and implement incrementally: - * design [the MVP](MVP.md) of the standard as a Minimum Viable Product with - roughly the same functionality as [asm.js](http://asmjs.org); + * design [a Minimum Viable Product](MVP.md) for the standard with roughly + the same functionality as [asm.js](http://asmjs.org); * ship an effective and efficient [polyfill](Polyfill.md) library for the MVP that translates WebAssembly code into JavaScript in the client so that WebAssembly MVP can run on existing browsers; * ship a follow-up to the MVP which adds several more [essential features](EssentialPostMVPFeatures.md); and * continue to iteratively specify [additional features](FutureFeatures.md), - prioritized by feedback and experience, including support for languages other - than C/C++. + prioritized by feedback and experience, including support for languages + other than C/C++. 3. Design to execute within and integrate well with the *existing* Web platform: - * maintain the versionless, feature-tested and - [backwards-compatible](BinaryEncoding.md#backwards-compatibility) evolution - story of the Web; + * maintain the versionless, [feature-tested](FeatureTest.md) and + [backwards-compatible](BinaryEncoding.md#backwards-compatibility) + evolution story of the Web; * execute in the same semantic universe as JavaScript; * allow synchronous calls to and from JavaScript; * enforce the same-origin and permissions security policies; -- cgit v1.2.3 From 0b450fe855ab25cde82ba10c78e2139e75df8b94 Mon Sep 17 00:00:00 2001 From: JF Bastien Date: Thu, 4 Jun 2015 17:36:20 -0700 Subject: Address sunfish's comments. --- FeatureTest.md | 2 +- HighLevelGoals.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/FeatureTest.md b/FeatureTest.md index 2b8a79f..f9877dc 100644 --- a/FeatureTest.md +++ b/FeatureTest.md @@ -1,6 +1,6 @@ # Feature Test -Any feature not present in [MVP](MVP.md) will have a corresponding feature +Any feature not present in [the MVP](MVP.md) will have a corresponding feature test. This allows polyfills to elegantly emulate a feature, and allows developers to fallback to another implementation if they so desire. diff --git a/HighLevelGoals.md b/HighLevelGoals.md index d052553..66a2bca 100644 --- a/HighLevelGoals.md +++ b/HighLevelGoals.md @@ -4,8 +4,8 @@ to serve as a compilation target which can be compiled to execute at native speed by taking advantage of common hardware capabilities. 2. Specify and implement incrementally: - * design [a Minimum Viable Product](MVP.md) for the standard with roughly - the same functionality as [asm.js](http://asmjs.org); + * design [a Minimum Viable Product (MVP)](MVP.md) for the standard with + roughly the same functionality as [asm.js](http://asmjs.org); * ship an effective and efficient [polyfill](Polyfill.md) library for the MVP that translates WebAssembly code into JavaScript in the client so that WebAssembly MVP can run on existing browsers; -- cgit v1.2.3