SPLASH 2023
Sun 22 - Fri 27 October 2023 Cascais, Portugal
Thu 26 Oct 2023 17:12 - 17:30 at Room I - effect systems Chair(s): Sebastian Erdweg

WebAssembly (Wasm) is a low-level portable code format offering near
native performance. It is intended as a compilation target for a wide
variety of source languages. However, Wasm provides no direct support
for non-local control flow features such as async/await,
generators/iterators, lightweight threads, first-class continuations,
etc. This means that compilers for source languages with such features
must ceremoniously transform whole source programs in order to target
Wasm.

We present WasmFX an extension to Wasm which provides a universal
target for non-local control features via effect handlers, enabling
compilers to translate such features directly into Wasm. Our
extension is minimal and only adds three main instructions for
creating, suspending, and resuming continuations. Moreover, our
primitive instructions are type-safe providing typed continuations
which are well-aligned with the design principles of Wasm whose stacks
are typed. We present a formal specification of WasmFX and show that
the extension is sound. We have implemented WasmFX as an extension to
the Wasm reference interpreter and also built a prototype WasmFX
extension for Wasmtime, a production-grade Wasm engine, piggybacking
on Wasmtime's existing fibers API. The preliminary performance
results for our prototype are encouraging, and we outline future plans
to realise a native implementation.

Thu 26 Oct

Displayed time zone: Lisbon change

16:00 - 17:30
effect systemsOOPSLA at Room I
Chair(s): Sebastian Erdweg JGU Mainz
16:00
18m
Talk
Fast and Efficient Boolean Unification for Hindley-Milner-Style Type and Effect Systems
OOPSLA
Magnus Madsen Aarhus University, Jaco van de Pol Aarhus University, Troels Henriksen University of Copenhagen
DOI
16:18
18m
Talk
From Capabilities to Regions: Enabling Efficient Compilation of Lexical Effect Handlers
OOPSLA
Marius Müller University of Tübingen, Philipp Schuster University of Tübingen, Jonathan Lindegaard Starup Aarhus University, Klaus Ostermann University of Tübingen, Jonathan Immanuel Brachthäuser University of Tübingen
Link to publication DOI Pre-print
16:36
18m
Talk
Gradual Typing for Effect Handlers
OOPSLA
Max S. New University of Michigan, Eric Giovannini University of Michigan, Daniel R. Licata Wesleyan University
DOI
16:54
18m
Talk
When Concurrency Matters: Behaviour-Oriented Concurrency
OOPSLA
Luke Cheeseman Imperial College London, Matthew J. Parkinson Microsoft Azure Research, Sylvan Clebsch Microsoft Azure Research, Marios Kogias Imperial College London; Microsoft Research, Sophia Drossopoulou Imperial College London, David Chisnall Microsoft, Tobias Wrigstad Uppsala University, Paul Liétar Imperial College London
DOI
17:12
18m
Talk
Continuing WebAssembly with Effect Handlers
OOPSLA
Luna Phipps-Costin Northeastern University, Andreas Rossberg Independent, Arjun Guha Northeastern University; Roblox, Daan Leijen Microsoft Research, Daniel Hillerström Huawei Zurich Research Center, KC Sivaramakrishnan Tarides; IIT Madras, Matija Pretnar University of Ljubljana, Sam Lindley University of Edinburgh
DOI Pre-print