CommonWA / cwa-spec

A minimal specification of standard API for non-Web WebAssembly usermode environments

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Common WebAssembly API

The Common WebAssembly API is a minimal specification of the standard API for non-Web WebAssembly usermode environments.

Structure

Types

A few new types (which all lower to primitive WASM types) are introduced in types.md.

Errors

Error handling in CWA is done by error codes, which are defined in errors.md.

Namespaces

The CWA API is organized as namespaces, which each corresponds to a specific set of API functions.

CWA API functions should be accessible via the external module named cwa.

Every namespace should contain only lower-case ASCII characters in its name, and have its definitions in ns/{namespace}.md.

Every function should contain only lower-case ASCII characters, digits(0-9), and _ in its name, and the first character cannot be a digit.

Functions from namespaces are visible to WebAssembly modules with the name {namespace}_{function}.

URLs and Schemes

"Everything is a URL".

Defined in urls-and-schemes.md.

Add new features to CWA

If you are not sure, open an issue to discuss your idea first.

After you've finished writing the definitions & explanations of your new namespaces/functions, open a pull request and we would be happy to review :-)

About

A minimal specification of standard API for non-Web WebAssembly usermode environments