Status update.

Lemmih lemmih at gmail.com
Wed Dec 31 11:14:16 EST 2008


Greetings fellow enthusiasts.

It has now been a little more than a month since LHC was born and a
status update is in order. I will present the top three issues we plan
on tackling in the near future.

== LHC is too slow ==
As it is now, LHC is at least 5 times slower than GHC when compiling
to Henk (our first intermediate language). We should be able to do
better since we're doing essentially the same as GHC (no whole-program
optimizations happen at this stage). I'd argue that we could even be
faster than GHC since our code is pure and more manageable.

== Outputting C is problematic ==
While C is wonderfully portable and easy to generate, it does make it
impossible to do efficient garbage collection or have zero-cost
exceptions.
I've been looking at LLVM and it seems that its support for GCs and
exceptions is almost no better. At this point I'm tempted to write our
own code generator.

== Our codebase is a minefield ==
It's way too common that minor changes in the code leads to strange
errors in seemingly unrelated areas. LHC is riddled with undocumented
assumptions, normal forms and format schemes. In the worst case,
changing a single numeric literal can trigger a segmentation fault.
Fortunately, many of these subtleties can be enforced by the
type-system. Proper type safety can easily be as important for
manageability as being pure is.

-- 
Cheers,
  Lemmih



More information about the Lhc mailing list