Write a Blog >>
ICFP 2020
Thu 20 - Fri 28 August 2020
Fri 28 Aug 2020 09:00 - 09:22 at HIW - Sessions 1 and 2

Asterius is a Haskell to WebAssembly compiler, based on GHC. Asterius emits WebAssembly from Cmm, includes a custom JavaScript runtime, and implements a novel FFI interface for JavaScript interop.

In this talk we will discuss some of the most interesting aspects of Asterius, including: - The WebAssembly instruction set, how we target it from Cmm, and the inner workings of Asterius’ linker. - The JavaScript runtime and how it works with the generated WebAssembly. More specifically, we focus on two main components of the runtime: the storage manager, which is in charge of garbage collection, and the scheduler, which implements multi-threads and MVars. JavaScript is asynchronous by nature, which poses interesting challenges for the scheduler design. - The JavaScript FFI, including its syntax and code generation. Template Haskell: how we link and run the splices, and limitations of the current implementation.

We will also touch briefly on future challenges: - Host garbage collection, which will allow us to represent closures as managed objects on the host platform and leverage the host platform’s GC mechanism. - C toolchain integration, which will enable us to compile and link C sources in Haskell packages, and take advantage of C standard library functions in the runtime.

Fri 28 Aug

Displayed time zone: Eastern Time (US & Canada) change

09:00 - 12:00
Sessions 1 and 2HIW at HIW
09:00
22m
Talk
Asterius: bringing Haskell to WebAssembly
HIW
Cheng Shao Tweag I/O, Georgios Karachalias Tweag I/O, Hans Hoeglund Tweag I/O
09:22
22m
Talk
Multiple Home Units
HIW
10:00
35m
Talk
Lightning Talks 1
HIW

10:35
22m
Talk
Sweet Egison: a Haskell Library for Non-Deterministic Pattern Matching
HIW
Satoshi Egi Rakuten Institute of Technology, Rakuten, Inc. / The University of Tokyo, Akira Kawata Kyoto University, Mayuko Kori The University of Tokyo, Hiromi Ogawa University of Tsukuba
10:57
22m
Talk
Updating Immutable Code
HIW
Philipp Schuster University of Tübingen, Germany, David Binder University of Tübingen
11:19
12m
Talk
GHC Status Update
HIW
Simon Peyton Jones Microsoft, UK, Ben Gamari Well-Typed LLP
11:31
29m
Break
Social break
HIW