
On 2018-11-28 2:17 a.m., Jurriaan Hage wrote:
Dear all,
We’ve been active since September making the Helium compiler more Haskell 2010 compliant. In particular, we have a branch with support for Haskell 2010 type classes, a branch that supports import/export following the standard, and a branch that compiles to LLVM instead of the `old’ Helium-specific LVM that has become harder and harder to maintain. These still need to be integrated. When I find time for that is hard to say.
Another project will be taking place in the period Feb-Apr and I expect we can tie up a lot of loose ends then. Current loose ends include newtype, record syntax, integration of previous projects, Cabal support, Quickcheck, strict data fields, improving the LLVM back-end.
One thing I have wondered about: do we actually have something like an extensive set of tests to throw at any Haskell 2010 compliant compiler that would help find mistakes on our parr? My students have come up with a range of examples to test their implementations, but there is nothing like a set of programs you’ve never seen or heard about.
If you want to be really thorough: 1. start with all of Hackage, 2. filter out all packages with the extensions: field in the cabal file, 3. filter out all modules with the {-# LANGUAGE ... #-} pragma, 4. recursively filter out all modules that import any filtered-out module, 5. you're left with a large set of pure Haskell 2010 modules. If you'd rather start small, I suspect it's best to look at the existing Haskell implementations. For example, there is a test suite at https://github.com/ajhc/ajhc/tree/arafura/regress/tests