blob: 56b6f373e69550432d7c59ff1abca789041b1c92 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>WebAssembly Specifications</title>
<link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/frameworks-c9193575f18b28be82c0a963e144ff6fa7a809dd8ae003a1d1e5979bed3f7f00.css" integrity="sha256-yRk1dfGLKL6CwKlj4UT/b6eoCd2K4AOh0eWXm+0/fwA=" media="all" rel="stylesheet">
<link crossorigin="anonymous" href="https://assets-cdn.github.com/assets/github-8ffe4331a8d2d413bfa465c56c4cc7466b011bcb5a8f74aab9081362ee31f862.css" integrity="sha256-j/5DMajS1BO/pGXFbEzHRmsBG8taj3SquQgTYu4x+GI=" media="all" rel="stylesheet">
</head>
<body>
<div id="readme" class="readme blob isntapaper_body">
<article class="markdown-body entry-content">
<h1>WebAssembly Specifications</h1>
<p>
To support the <em>embedding</em> of WebAssembly into different environments, its specification is split into <em>layers</em> that are specified in separate documents.
</p>
<h3>Core specification</h3>
<p>Defines the semantics of WebAssembly modules and its instruction set, independent from a concrete embedding.
The WebAssembly core is specified in a single document:</p>
<ul>
<li>
<p><a href="core/multipage/index.html">Core</a>:
defines the structure of WebAssembly modules and its representation
in binary and text format, as well as the semantics of validation,
instantiation, and execution.
Alternate versions:
<a href="core/bikeshed/index.html">W3C Editor's Draft</a>,
<a href="core/multipage/_download/WebAssembly.pdf">PDF</a>.
</p>
</li>
</ul>
<h3>API specifications</h3>
<p>Define <em>application programming interfaces</em> enabling the use of WebAssembly modules in concrete embedding environments.
Currently, two APIs are specified:</p>
<ul>
<li><p><a href="js-api/index.html">JavaScript API</a>: 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.</p></li>
<li><p><a href="web-api/index.html">Web API</a>: defines extensions to the JavaScript API made available specifically in web browsers, in particular, an interface for streaming compilation and instantiation from origin-bound <code>Response</code> types.</p></li>
</ul>
<p>
Source for these documents is available
<a href="https://github.com/WebAssembly/spec/">here</a>.
</p>
</article>
</div>
</body>
</html>