Wasm/k: Delimited Continuations for WebAssembly
WebAssembly (Wasm) is a rapidly growing compilation target for the web, but lacks support for user-level or multiplexed threads, as seen in Go. Currently such threads must be simulated, leading to a significant performance penalty for Go code compiled to Wasm. We resolve this by adding support for delimited continuations (a form of stack capture operations) to WebAssembly, which allows for efficient expression of user-level threads, as well as many other interesting computational effects. This work was presented at DLS 2020.