-
Notifications
You must be signed in to change notification settings - Fork 267
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
Evaluate compatibility between WASI snapshot 1 and next #263
Comments
WebAssembly/WASI#469 (comment) also is interesting as the "rights" concept is being dumped. We should avoid implementing that, but this also hints the new WASI is a different API |
found this which hints the next will be named "wasi_snapshot_preview2" https://github.com/sunfishcode/wasi-wiki/wiki/Preview2-Plan I perused the types and to best of my knowledge they aren't using anything fancy like i128 or externref @sunfishcode can you confirm? |
Yes, that proposal is using the component model's set of types which doesn't include 128-bit integer types, and the Canonical ABI, which doesn't use |
thanks a lot for the clarification! @sunfishcode |
One major change is the decentralization of specs. For example, there's a subspec for clocks and no shared errno. However, as WASI doesn't require the component module, a monolithic module import as hinted earlier seems implied. https://github.com/WebAssembly/wasi-clocks/blob/main/wasi-clocks.abi.md @sunfishcode a couple more questions, just so we can know where to subscribe.
|
That's right. Avoiding a single shared errno makes it easier for APIs to offer more descriptive error values. I expect wasi-libc will convert various API's errors into a shared errno, for POSIX compatibility.
The component-model repo, which also covers the Canonical ABI, which is the basis for non-component versions of component interfaces. And the wit-bindgen repo, which is where the main implementation of the Canonical ABI is being developed.
It's possible to implement wit interfaces using Wasmtime and wit-bindgen, and various people are doing this today. I plan to start work on Wasmtime implementations of the new wasi-filesystem and other new APIs soon. |
Thanks @sunfishcode I'll follow the component model repo for any updates on this, and thanks for the hints meanwhile! |
The componentized successor to wasi_snapshot_preview1 is not compatible with the prior imports or even error numbers. Before releasing wazero 1.0 we need to change this package to reflect that WASI 2 is effectively a different API. Fixes #263 Signed-off-by: Adrian Cole <adrian@tetrate.io>
The componentized successor to wasi_snapshot_preview1 is not compatible with the prior imports or even error numbers. Before releasing wazero 1.0 we need to change this package to reflect that WASI 2 is effectively a different API. Fixes #263 Signed-off-by: Adrian Cole <adrian@tetrate.io>
Per WebAssembly/WASI#215 (comment) I found this is the new WASI API in progress
https://github.com/WebAssembly/wasi-filesystem/blob/main/wasi-filesystem.wit.md
Let's check to see if there are signature incompatibilities before we decide if and how to export a WASI go interface
The text was updated successfully, but these errors were encountered: