Stream: general

Topic: wasm/wasi feature matrix


view this post on Zulip bstrie (Jul 27 2022 at 14:37):

I'm interested in seeing (and possibly making) a "feature matrix" showing, for every programming language, what features of wasm/wasi their toolchains currently support. Does such a thing already exist? Would anyone be interested in collaborating? I'm thinking of something like caniuse.com

view this post on Zulip Dan Gohman (Jul 27 2022 at 14:39):

For wasm features in engines, there is https://webassembly.org/roadmap/

view this post on Zulip Dan Gohman (Jul 27 2022 at 14:43):

For WASI, in both toolchains and engines, my own opinion is: it's too early for this. Progress in WASI for the next year or so will not be monotonic. It would have been nice and user-friendly for WASI to have been instantly stable and perfectly future-compatible. The underlying platform underneath WASI changed in fundamental ways, and we learned a lot of lessons from WASI itself, so we have a lot of fundamental changes to make.

view this post on Zulip bstrie (Jul 27 2022 at 14:45):

this is a great start, thanks. I admit that I'm not fully cognizant of the dividing line where wasm ends and where wasi begins (e.g. socket support belongs to wasi, not wasm, so it doesn't show up in this table). is there a document somewhere summarizing what changes to wasi are anticipated?

view this post on Zulip Dan Gohman (Jul 27 2022 at 14:46):

This presentation lays out a high-level roadmap.

WebAssembly meetings (VC or in-person), agendas, and notes - meetings/2022-06-30-gohman-wasi-preview2.pdf at main · WebAssembly/meetings

view this post on Zulip Dan Gohman (Jul 27 2022 at 14:48):

Figuring out where Wasm ends and where WASI begins has been one of the ongoing challenges. There is no a-priori answer. Some things we used to think were part of WASI have moved into the module-linking and interface-types layers, which have now been incorrporated into a component model.

Repository for design and specification of the Component Model - GitHub - WebAssembly/component-model: Repository for design and specification of the Component Model

view this post on Zulip Dan Gohman (Jul 27 2022 at 14:49):

For example, WASI had started to develop a concept of streams, but that's since been moved into the component model, because there are advantages to having streams be a language feature rather than a library feature.

view this post on Zulip bstrie (Jul 27 2022 at 14:58):

this is great info, thanks

view this post on Zulip Dan Gohman (Jul 27 2022 at 15:02):

There's a lot going on, and admittedly not a lot of documentation right now. That will improve over time, but in the present, I can at least offer to answer any questions that anyone has.

view this post on Zulip Mossaka (Joe) (Jul 27 2022 at 15:06):

I want to shout out to Fermyon folks who have dedicated their time to maintain this programming language guide for wasm https://www.fermyon.com/wasm-languages/webassembly-language-support

Tracking the programming languages that compile to WebAssembly (Wasm). This page stays up to date with information about which languages can compile to Wasm, and what their language characteristics are.

Last updated: Nov 22 2024 at 17:03 UTC