wiki:Status/October08

Version 6 (modified by simonpj, 5 years ago) (diff)

--

GHC Status October 2008

For the last six months we have been primarily focussed on the 6.10.1 release, which should be out by the time you read this. We are extremely grateful for the increasing support we get for the community in putting GHC releases together; more people than ever before are now helping maintain subcomponents, implementing features, fixing bugs, testing release candidates, and much more besides. We couldn't have made this release without your help!

The GHC 6.10 branch

GHC 6.10.1 is the first release in the 6.10 branch, and features many improvements over the 6.8 branch; the highlights are:

  • Type families have been completely re-implemented, by Manuel Chakravarty, along the lines of our ICFP 2008 paper Type checking with open type functions --- only simpler. As a result, we believe that type families work reliably in GHC 6.10. There is one missing feature, however, namely the ability to have equalities in the superclass context of a class. We'll add that to the HEAD in the next few months.
  • GHC now comes with Haddock 2, which supports all GHC extensions
  • The GHC API now uses a Ghc Monad, making it easier to use. Furthermore, the API now has Haddock documentation
  • External core (output only) now works again
  • Data Parallel Haskell (DPH) comes as part of GHC. In 6.10, for the first time, DPH includes a full vectoriser, so the system is much more usable than before. It's still really an alpha release though; we very much welcome friendly guinea pigs, but it's not ready for your 3 gigabyte genome search program. We have a lot of performance tuning to do. We've written a new paper Harnessing the multicores: nested data parallelism in Haskell (FSTTCS'08), which gives a tutorial overview of the system, focusing especially on vectorisation.

See the release notes for full details.

The GHC 6.12 branch

Meanwhile, development goes on in the HEAD:

  • John Dias is still working hard on rewriting GHC's backend, and his changes should be landing in the next few months
  • the DPH team are still developing furiously
  • We hope that Max Bolingbroke's "Dynamically Loaded Plugins" summer of code project will be merged in time for 6.12
  • Likewise, Donnie Jones's project for profiling parallel programs should be merged in time for 6.12
  • Finally, unicode text I/O and dynamic libraries were slated for 6.10 but weren't quite ready in time, so we certainly expect those to make it for in 6.12

From a development point of view, there are a couple of changes on the horizon:

  • We plan to change how GHC's build system works, to decouple it from Cabal's internals
  • We plan to change from darcs to git for the version control system used by GHC