The witx file format is an experimental format which is based on the
module linking 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, with witx having minimal additional features. 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.