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 Record syntax: wild-card patterns, punning, and field disambiguation Generalised quasi-quotes Generalised list comprehensions View patterns

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.

Enjoy, and send us your bugs and feedback!