... | ... | @@ -17,19 +17,17 @@ GHC 6.10.1 is the first release in the 6.10 branch, and features many improvemen |
|
|
|
|
|
- **Type families** have been completely re-implemented, by Manuel Chakravarty, along the lines of our ICFP 2008 paper [ Type checking with open type functions](http://research.microsoft.com/%7Esimonpj/papers/assoc-types/index.htm) --- 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
|
|
|
- GHC now comes with **Haddock 2**, which supports all GHC extensions, thanks to David Waern.
|
|
|
|
|
|
- **Parallel garbage collection** is implemented, by Simon Marlow. "[ Parallel generational-copying garbage collection with a block-structured heap](http://research.microsoft.com/%7Esimonpj/papers/parallel-gc/index.htm)".
|
|
|
- **Parallel garbage collection** has been implemented by Simon Marlow. This speeds up even purely-sequential programs, by using the extra processors during garbage collection. Our ISMM'08 paper gives the details [ Parallel generational-copying garbage collection with a block-structured heap](http://research.microsoft.com/%7Esimonpj/papers/parallel-gc/index.htm).
|
|
|
|
|
|
- The base library now uses extensible exceptions
|
|
|
- The base library now provides, and uses, **extensible exceptions**, as described in Simon Marlow's paper [ An Extensible Dynamically-Typed Hierarchy of Exceptions](http://www.haskell.org/~simonmar/papers/ext-exceptions.pdf) (Haskell workshop 2006).
|
|
|
|
|
|
- The GHC API now uses a Ghc Monad, making it easier to use
|
|
|
- Thomas Schilling has made the **GHC API** easier to use, by using a `Ghc` monad to carry the session state. Furthermore, the API now has Haddock documentation.
|
|
|
|
|
|
- The GHC API now has haddock documentation
|
|
|
- **External core** (output only) now works again, thanks to Tim Chevalier.
|
|
|
|
|
|
- External core (output only) now works again
|
|
|
|
|
|
- DPH (Data Parallel Haskell, which supercedes NDP) is now an extralib
|
|
|
- **Data Parallel Haskell** (DPH) comes as part of GHC, as a result of Roman Leshchinskiy's efforts. 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](http://research.microsoft.com/%7Esimonpj/papers/ndp/index.htm) (FSTTCS'08), which gives a tutorial overview of the system, focusing especially on vectorisation.
|
|
|
|
|
|
|
|
|
See the release notes for full details.
|
... | ... | @@ -39,11 +37,11 @@ See the release notes for full details. |
|
|
|
|
|
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
|
|
|
- John Dias is still working hard on rewriting GHC's backend, and his changes should be landing in the HEAD during October.
|
|
|
|
|
|
- the DPH team are still developing furiously
|
|
|
- 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
|
|
|
- We hope that Max Bolingbroke's **Dynamically Loaded Plugins** summer of code project will be merged in time for 6.12. Part of this is a new, modular system for user-defined **annotations**, rather like Java or C\# attributes. These attributes are persisted into interface files, can be examined and created by plugins, or by GHC API clients.
|
|
|
|
|
|
- Likewise, Donnie Jones's project for profiling parallel programs should be merged in time for 6.12
|
|
|
|
... | ... | @@ -52,6 +50,6 @@ Meanwhile, development goes on in the HEAD: |
|
|
|
|
|
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 how GHC's build system works, to decouple it from Cabal's internals. Our current plans are [here](design/build-system).
|
|
|
|
|
|
- We plan to change from darcs to git for the version control system used by GHC |