-
Notifications
You must be signed in to change notification settings - Fork 9
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
Draft: effects based on Typed continuation proposal #52
base: main
Are you sure you want to change the base?
Conversation
9648cfb
to
8fefdf3
Compare
Exciting. Which engine do you have in mind for experimentation? CC @dhil. |
Nice! We should be able to run this with https://github.com/wasmfx/wasmfxtime using the options |
Does https://github.com/wasmfx/wasmfxtime have GC support now? |
The support is not complete yet. We are keeping in sync with upstream, where the GC support is being implemented. I think the structures are in place, so it should be possible to compile to it, but I don't think there is any actual runtime garbage collection yet. |
I did this a while ago when some basic support for typed continuations was added in binaryen, which allows to validate the Wasm code. My motivation was mostly to have a feel of what an implementation of Ocaml effect handlers would look like. I did not have any engine in mind for experimentation. One issue is that we rely quite a lot on JavaScript to implement some runtime features (like I/Os) at the moment. |
Presumably we can link in some WASI in place of the JS? |
@titzer suggested that we target https://github.com/titzer/wizard-engine. Wizard supports GC proposal, and the stack switching through typed continuations is in development: titzer/wizard-engine#175. There is still the challenge of reliance on JS for runtime system features. |
We can probably develop a minimal runtime which is just able to support some effect benchmarks. That should not be too much work. |
a74ffbb
to
058036f
Compare
No description provided.