At ZuriHac this year, my goal was to use GHC’s relatively new WebAssembly (wasm) backend to do something cool. I accomplished this goal, and learned a ton about wasm and how GHC’s wasm backend works along the way. In this post, I’ll document everything I learned, from the basics of wasm to some nitty-gritty details of how GHC targets wasm from Haskell.
To demonstrate what we cover, we’ll be building this interactive example webpage! Thrilling!
In a future post, I’ll document the actual project I worked on while learning all of this and include a demo of the finished product, so stay tuned!