Stream: wasm

Topic: WAVE


view this post on Zulip Lann Martin (Sep 21 2023 at 22:04):

I just published a new encoding format "WAVE: Web Assembly Value Encoding" (and matching wasm-wave crate). WAVE is a human-oriented representation of component model values. The README gives a good overview of the format. I'd love feedback (and PRs!) on the format and eventually would like to donate it to be used for things like wasmtime run --invoke 'add(1, 2)'.

Web Assembly Value Encoding. Contribute to lann/wave development by creating an account on GitHub.

view this post on Zulip Lann Martin (Sep 21 2023 at 22:06):

Thanks to @Dan Gohman for a PR adding e.g. \u{1F44B} unicode escapes, written within ~2 hours of learning that WAVE existed. :smile:

view this post on Zulip Lann Martin (Oct 04 2023 at 13:30):

I've added a bunch of functionality to this and built this poc for using it to invoke component exports: https://github.com/lann/wave-tank

$ wave-tank example.wasm 'hello-world(false, "BA")'
hello-world(false, some("BA")) -> "Hello, BA!"
Contribute to lann/wave-tank development by creating an account on GitHub.

view this post on Zulip Lann Martin (Oct 23 2023 at 17:34):

A proposal to use WAVE for wasmtime run --invoke: https://github.com/bytecodealliance/wasmtime/issues/7326

You can currently call a core module export with wasmtime run --invoke <func> <module.wasm> [params...], but using --invoke with components is not supported. While it should (presumably) be fairly ...

view this post on Zulip Pat Hickey (Oct 23 2023 at 21:13):

i really like the sound of this proposal!

view this post on Zulip Pat Hickey (Oct 23 2023 at 21:14):

as far as how to reference things that arent top level exports, or the syntax by which you do- i think we can follow the rule of only requiring an identifier if its ambigious

view this post on Zulip Pat Hickey (Oct 23 2023 at 21:15):

so if a component exports foo:bar/baz.run and wasi:cli/run.run then you have to call it by run.run. plain run will give an error as being ambigious

view this post on Zulip Pat Hickey (Oct 23 2023 at 21:15):

so allow people to leave off the namespace, package version, package name, and interface name if they like


Last updated: Nov 26 2024 at 01:30 UTC