The most recent release of GHC includes a technology preview of a WebAssembly backend. This allows Haskell code to run in many new contexts.
GHC’s WebAssembly backend is based on an earlier research compiler called Asterius. In this talk, Cheng Shao, the main author of both projects, presents an introduction to WebAssembly and why compiling Haskell to it is different than other platforms. The talk includes many details about why the backend is the way it is, along with instructions to work on it.
This talk was presented at the 2023 GHC
Contributor’s Workshop in Rapperswil, Switzerland, colocated with Zurihac. The workshop was arranged by the Haskell Foundation, OST Eastern Switzerland University of Applied Sciences, and the GHC development team.
Cheng Shao is a full-time software engineer at Tweag, where he has been working since 2018. His main contribution to GHC is the WebAssembly backend, which grew out of his early research project, a Haskell-to-WebAssembly compiler codenamed Asterius. He focuses on maintaining the GHC WebAssembly backend, adding new functionality, as well as other GHC work that involves code generation and the runtime system.