-
Notifications
You must be signed in to change notification settings - Fork 288
Description
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!]