The Montreal Haskell Compiler

I like diversity!

Yes, there is real value in people collaborating in a single giant project like GHC – we can achieve so much more together than we can individually.

But that very reach and scale makes GHC a bit ponderous and not-agile. There is a real role for other implementations to explore different parts of the design space. For example

  • Lennart’s MicroHs is incredibly small compared to GHC, while still implementing many (but far from all) of its language extensions; it bootstraps in a flash, and compiles Haskell to very small binaries. They may not run as fast as GHC-compiled code, but sometimes that doesn’t matter.
  • Artin is building a typechecker for Haskell that that corresponds line-for-line with formally expressed typing rules. GHC’s typechecker is far more complicated and far less comprehensible, and entirely lacks formal typing rules – even though it does more.

Maybe the Montreal Haskell Compiler will also have an “angle” that will enrich us all.

24 Likes