WasmFX started as a subsidiary project of the UKRI funded project effect handler oriented programming (EHOP) (MR/T043830/1), which is led by Sam Lindley at The University of Edinburgh, United Kingdom. Nowadays, WasmFX is a standalone project graciously sponsored by the EHOP project between February 2021 - January 2025.
WasmFX is an open source project being developed in the public domain.
WasmFX is an active research project. Thus far, we have published the following papers.
We welcome community and developer feedback on all aspects of WasmFX, including the high-level design, binary format, developer experience, and browser implementations.
Please contribute your feedback or issues in the following forums:
We welcome external contributions to WasmFX. There are multiple ways to contribute to the project.
A useful and fairly lightweight way to contribute is by joining the discussions about stack switching in WebAssembly on the official stack switching working group.
Relevant resources:
The reference interpreter implementation of WasmFX is led by Daniel Hillerström and Andreas Rossberg. As of writing, the reference interpreter implements only the core of the typed continuations proposal, we have yet to implement the various extensions.
Relevant resources:
We are interested in Wasm engine implementations of WasmFX.
Currently, we are working on implementing WasmFX in wasm-tools and wasmtime — the former being a toolbox for manipulating Wasm modules and latter being a production-grade engine for Wasm. The implementation effort is led by Daniel Hillerström and Luna Phipps-Costin. There is a fair amount of engineering work yet to be done, as the typed continuations proposal depends on the typed function references and exception handling proposals, both of which are yet to be implemented in wasm-tools and wasmtime.
Relevant resources:
We are interested in toolchains to compile programs that can take advantage of the WasmFX feature set of Wasm. Currently, Daniel Hillerström and Luna Phipps-Costin are building a toolchain that compiles effect handlers programs written in Links to Wasm via Jankscripten.
Relevant resources: