Helium II

Mario Blažević blamario at ciktel.net
Wed Nov 28 14:03:30 UTC 2018


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




More information about the Haskell-prime mailing list