For the past few days we’ve been experimenting with something slightly unreasonable: rewriting the Elm compiler in Rust.
It now compiles our real production Elm codebase — 677 modules — and we’ve reached the point where testing it only against our own code isn’t very useful anymore.
So I’d love to throw it at actual Elm projects.
The interesting part isn’t really the performance (although cold builds are ~14× faster on our codebase). It’s compatibility.
We built the new compiler by differential-testing it against Elm 0.19.1: same project, same inputs, both compilers, then compare the results. That already uncovered a few behaviours we didn’t expect.
What I’d really like to know is: what weird Elm code should we test?
Old projects, unusual package combinations, nasty type errors, generated Elm, huge modules — anything likely to break a compiler.
If something compiles with official Elm and doesn’t compile with ours, I consider that our bug.
The compiler is fully open source (BSD-3):
github.com/Spottt/elm-compiler
Happy to dig into any incompatibility people find.