It seems appropriate to initialise this blog with a release announcement, so here it is: the GHC developers commend the new GHC 6.10.1 release to the community!
There’s plenty of juicy stuff in this release, here’s the headlines:
- New language Features
- Type families have been completely re-implemented
- Now comes with Haddock 2, which supports all GHC extensions
- Parallel garbage collection
- Base provides extensible exceptions
- The GHC API is easier to use
- External core (output only) now works again
- Data Parallel Haskell (DPH) comes as part of GHC
Get all the details in the full release notes.
What’s more, this release has undergone more testing and polishing than ever before, so we hope this will be one of the highest-quality GHC releases ever. Our test suite has over 2200 individual test programs, each run 6 ways as part of our automated nightly builds, and at release time we had zero unexpected failures (that is, all known bugs are logged in the bug tracker). The Haskell Platform team have also been testing GHC 6.10.1 pre-releases against all of the packages on Hackage, to ensure that we can make this transition as smooth as possible.
You might notice some other improvements, such as parallel performance: there is ongoing work to analyse and improve the performance of parallel code, and some of that work made it into into 6.10.1 (but there’s a lot more to come, some of which can be found in the HEAD).
We have a new parallel garbage collector, which should probably be considered a “technology preview”: you get it by default when enabling multi-core execution with e.g. +RTS -N4, but keep an eye on the GC time with +RTS -s. If you find that parallel GC isn’t helping, or is even making things worse, then tell us about it, and disable the parallel gc with -g1.