Despite the odd name, WebAssembly (Wasm) has been adopted as a low-level VM of choice across diverse ecosystems from web, over cloud, edge, blockchain, mobile, to embedded systems. It also is becoming a compilation target for an increasingly broad range of programming languages, including enjoyable ones like Haskell and OCaml. At the same time, Wasm itself is evolving: last year it reached version 2.0, and soon we are looking forward to another substantial update adding features like tail calls, garbage collection, and threads, on its trajectory towards decent support for high-level languages.
One exciting aspect of Wasm is that it is very much informed by modern programming language research. It has an end-to-end formal specification, a soundness proof, and multiple mechanisations thereof. Moreover, various of its proposed extensions build on language-related research: on weak memory models, on type systems, on effect handlers, on formal methods, and lo and behold, advanced module systems. Recently, we sought new territory with the language specification itself: a DSL from which the official document, verified interpreters, and mechanised definitions can all be generated. Key to all this have been collaborations with patient researchers from the programming language community.
Bio: Andreas Rossberg is an independent researcher and engineer. By a few twists of fate, he became one of the designers of WebAssembly, author of its formalisation and specification, and champion of various proposals for enhancements. For a while, he was a software engineer at Google, where he worked on V8, the JavaScript/Wasm virtual machine, and later a researcher at Dfinity, leading the start-up’s language team. Before his time in industry he did a post-doc at the Max Planck Institute for Software Systems after receiving a Dr from Saarland University. His research interests mainly revolve around programming languages, ranging from foundational theory, over design, to implementation, as long as they aren’t ugly.
Tue 5 SepDisplayed time zone: Pacific Time (US & Canada) change
13:30 - 14:30 | Afternoon keynoteICFP Keynotes / ICFP Papers and Events at A - Grand Ballroom 2 Chair(s): Nikhil Swamy Microsoft Research | ||
13:30 60mKeynote | As low-level as possible, but no lower ICFP Keynotes Andreas Rossberg Independent |