forked from WebAssembly/WASI
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
f75f55f
commit 221821f
Showing
3 changed files
with
36 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
# Know your `witx` | ||
|
||
The `witx` file format is an experimental format which is based on the | ||
[module types] text format (`wit`), (which is in turn based on the | ||
[wat format], which is based on [S-expressions]). It adds some features | ||
using the same syntax as [interface types], some features with syntax | ||
similar to [gc types], as well as a few special features of its own. | ||
|
||
`witx` is actively evolving. Expect backwards-incompatible changes, | ||
particularly in the areas where `witx` differs from `wit`. | ||
|
||
The initial goal for `witx` is just to have a language suitable for | ||
expressing [WASI] APIs in, to serve as the vocabulary for proposing changes | ||
to existing APIs and proposing new APIs. Initially, while it uses some of | ||
the syntax and concepts from interface types, it doesn't currently imply the | ||
full interface types specification, or the use of the interface types custom | ||
sections. | ||
|
||
We expect that eventually we will transition to using the full interface | ||
types specification. Until then, the goals here are to remain aligned with | ||
interface types and other relevant WebAssembly standards and proposals | ||
wherever practical, and to be an input into the design process of interface | ||
types. | ||
|
||
[module types]: https://github.com/WebAssembly/module-types/blob/master/proposals/module-types/Overview.md | ||
[interface types]: https://github.com/WebAssembly/interface-types/blob/master/proposals/interface-types/Explainer.md | ||
[gc types]: https://github.com/WebAssembly/gc | ||
[wat format]: https://webassembly.github.io/spec/core/bikeshed/index.html#text-format%E2%91%A0 | ||
[S-expressions]: https://en.wikipedia.org/wiki/S-expression | ||
[WASI]: https://github.com/WebAssembly/WASI |