I’ve been working on an unofficial port of Elm to WebAssembly for a couple of years now. When I posted last year I had just managed to get my first compiled demo app working.
Well, as we all know, it’s a long way from a first demo of a system to actually getting things running smoothly! So that’s what I’ve been working on. It involved rewriting parts of the core libraries and garbage collector, and lots and lots of tests!
I have a few demos and a blog post to share.
The main one is the Elm SPA example running in WebAssembly. There’s also the same thing in JS for comparison. Quick performance measurements in Lighthouse give pretty similar results between the two at the moment, which is a great start! There are improvements coming.
This definitely isn’t for production. The build system only works for demo apps inside my repo, and it can’t handle multiple library versions.
More details in this blog post: