Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposing a framework for Preview3 and WASI 1.0 #515

Open
sunfishcode opened this issue Feb 5, 2023 · 2 comments
Open

Proposing a framework for Preview3 and WASI 1.0 #515

sunfishcode opened this issue Feb 5, 2023 · 2 comments

Comments

@sunfishcode
Copy link
Member

sunfishcode commented Feb 5, 2023

To provide a little more background on my roadmap agenda item, I'd like to propose a rough framework for a future Preview3, and beyond that, a WASI 1.0.

Preview2 is rebasing WASI on the wit IDL, which fixes a lot of long-standing open problems that WASI has. However, there is a major feature planned to be included in wit that isn't ready yet: integrated async. Specifically, this is the stream and future types.

For Preview2 we're developing temporary stream APIs that we can use in place of the stream keyword. However, a built in stream type would have many advantages, including idiomatic and efficient source language buildings for async streaming, and composition of async work across components.

So I propose we think of the big theme of Preview3 to be adding APIs that use the stream and future type. We can also add features and incorporate implementation feedback, but async would be the big story.

After that, I expect we'll have enough of a foundation in place that it makes sense for WASI to move out of "preview" mode and start conversations with the Wasm CG about producing a WASI 1.0 standard. Again, we could add new features and incorporate implementation feedback, but here, the big story would just be standardization.

How does this overall framework sound?

[edit: updated the wasi-io.wit.md link, thanks @ricochet for pointing that out!]

@SamuraiCrow
Copy link

Everything I've read here seems well thought out. I also appreciate that documentation has started to commence. Many thanks!

@ricochet
Copy link

ricochet commented Feb 8, 2023

For anyone following the stream API's link, it's under the wit folder https://github.com/WebAssembly/wasi-io/blob/main/wit/wasi-io.wit.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants