WebAssembly Specifications
18 | 19 |20 | To support the embedding of WebAssembly into different environments, its specification is split into layers that are specified in separate documents. 21 |
22 | 23 |Core specification
24 | 25 |Defines the semantics of WebAssembly modules independent from a concrete embedding. 26 | The WebAssembly core is specified in a single document:
27 | 28 |-
29 |
-
30 |
WebAssembly: 31 | defines the structure of WebAssembly modules, their instruction set, and their representation 32 | in binary and text format, as well as the semantics of validation, 33 | instantiation, and execution. 34 |
35 |-
36 |
- Browser version (multi-page) 37 |
- W3C version (single-page) 38 |
- PDF version 39 | 40 |
42 |
Embedder specifications
45 | 46 |Define application programming interfaces (APIs) enabling the use of WebAssembly modules in concrete embedding environments. 47 | Currently, two APIs are specified:
48 | 49 |-
50 |
JavaScript Embedding: defines JavaScript classes and objects for accessing WebAssembly from within JavaScript, including methods for validation, compilation, instantiation, and classes for representing and manipulating imports and exports as JavaScript objects.
51 |-
52 |
- W3C version 53 | 54 |
56 |
57 | Web Embedding: defines extensions to the JavaScript API made available specifically in web browsers, in particular, an interface for streaming compilation and instantiation from origin-bound
58 |Response
types.-
59 |
- W3C version 60 | 61 |
63 |
66 | Source for these documents is available 67 | here. 68 |
69 | 70 |