wion 0.1.0

Wasm Interface Object Notation
Documentation
Wasm Interface Object Notation
==============================

WION is a data interchange format for WebAssembly. It is designed to be a simple, human-readable, and easy-to-write
format that can be used to describe the data types and interfaces of WebAssembly modules.

| Type     | Values                           |
|----------|----------------------------------|
| Bools    | `true`, `false`                  |
| Number   | `42`, `-0`, `3.14` , `0xBeef`    |
| Strings  | `"abc\t123"`, `'x'`, `'\u{0}'`   |
| Sequence | `("abc", 123)`, `[1, 2, 3]`      |
| Records  | `{field-a: 1, field-b: "b"}`     |
| Options  | `T`, `some(T)`, `none`           |
| Results  | `T`, `success(T)`, `failure(E)`  |
| Variants | `tag, tag(data)`, `tag { data }` |
| Flags    | `+[read, write]`, `-[execute]`   |

## Details


### Number


- integer: `123`, `-9`
- decimal: `3.14`, `6.022e+23`
- byte: `0xBeef`, `0b1010_1010`


### String 


- escaped: `\n`, `\u{0}`
- raw: `r"abc\t123"`
- single: `'x'`
- multi: `'''abc\n123'''`