Changes between Version 22 and Version 23 of Status/October06
- Timestamp:
- 11/07/06 01:25:26 (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Status/October06
v22 v23 13 13 A significant outcome is that we have written a great deal of Wiki material about GHC's implementation (the "commentary") and about how to build and modify GHC (the "building guide"). Documents with these titles were available before but had become rather out of date. These new, up-to-date documents live on the GHC developer's Wiki. We urge you to read and improve them: [http://hackage.haskell.org/trac/ghc/wiki] (near the bottom). 14 14 15 We (finally) released '''GHC 6.6''' in October 2006. There was an extended period of release-candidate testing, so we fondly hope that this will be a relatively stable release. The main improvement over GHC 6.4 is support for SMP systems - now GHC can execute several Haskell threads on different cpus/cores. There also many other improvements, listed in the [http://haskell.org/ghc/docs/6.6/html/users_guide/release-6-6.html Release notes]. To get GHC 6.6, go to [http://www.haskell.org/ghc/download_ghc_66.html Download]. Significant new features, all described in more detail in the [http://haskell.org/ghc/docs/6.6/html/users_guide/release-6-6.html release notes], include: 16 * Support for multi-processors 17 * Impredicative polymorphism 18 * Bang patterns 15 We (finally) released '''GHC 6.6''' in October 2006. To get GHC 6.6, go to [http://www.haskell.org/ghc/download_ghc_66.html Download page]. There was an extended period of release-candidate testing, so we fondly hope that this will be a relatively stable release. There are many improvements, all listed in the [http://haskell.org/ghc/docs/6.6/html/users_guide/release-6-6.html Release notes]. The most important new features include: 16 * Now GHC can execute several Haskell threads simultaneously on different cpus/cores 17 * ByteString type for fast and memory-efficent string manipulations 19 18 * Unicode source files 20 19 * Further generalisation of newtype deriving 21 * Monomorphic pattern bindings 20 * Bang patterns to declare function arguments as strict 21 * Impredicative polymorphism 22 22 * Lastly, we finally bit the bullet and lifted the restriction that every module in a Haskell program must have a distinct name. Why? Because it's non-modular: two packages from different authors could accidentally collide. This change is in GHC 6.6; there are some remaining open choices dicussed here [http://hackage.haskell.org/trac/ghc/wiki/GhcPackages]. 23 23 … … 32 32 * Bjorn Bringert (a GHC Hackathon graduate) implemented '''standalone deriving''', which allows you to write a `deriving` declaration anywhere, rather than only where the data type is declared. Details of the syntax have not yet quite settled. See also [http://www.haskell.org/pipermail/haskell-prime/2006-October/001725.html]. 33 33 34 * Andy Gill implemented the '''Haskell Program Coverage'''option ('''-fhpc''') for GHC, which is solid enough to be used to test coverage in GHC itself. (It turns out that the GHC testsuite gives remarkably good coverage over GHC already.)34 * Andy Gill implemented the [http://haskell.org/haskellwiki/GHC/HPC Haskell Program Coverage] option ('''-fhpc''') for GHC, which is solid enough to be used to test coverage in GHC itself. (It turns out that the GHC testsuite gives remarkably good coverage over GHC already.) 35 35 36 We are now working on lots of new stuff that isn't yet in GHC HEAD but will end up there if all goes well, and then become a part of GHC 6.8:36 If you want to know today's state-of-the-art, you should check [http://haskell.org/haskellwiki/GHC/6.8 GHC 6.8 status] page. At this moment we are working on the following features which is planned to be included in GHC 6.8 in next few months: 37 37 38 38 * Roman Leshchinskiy has been hard at work developing libraries that support '''data-parallel computation''' in GHC. It's not quite ready for public consumption but you can peek at what is going on by looking at the Haskell Wiki: [http://haskell.org/haskellwiki/GHC/Data_Parallel_Haskell] Background material here: [http://www.cse.unsw.edu.au/~chak/papers/CKLP01.html]. We hope to release a first iteration of our data-parallel extensions before Christmas. 39 39 40 * At the moment GHC's '''garbage collector''' is single-threaded, even when GHC is running on a multiprocessor. Roshan James spent the summer at Microsoft on an internship, implementing a multi-threaded GC. We need to do a bit more work, but with a bit of luck we'll push a parallel garbage collector into the HEAD before Christmas.40 * At the moment GHC's '''garbage collector''' is single-threaded, even when GHC is running on a multiprocessor. Roshan James spent the summer at Microsoft on an internship, implementing a [http://hackage.haskell.org/trac/ghc/wiki/MotivationForParallelization multi-threaded GC]. We need to do a bit more work, but with a bit of luck we'll push a parallel garbage collector into the HEAD before Christmas. 41 41 42 42 * Simon PJ is determined to finally implement '''implication constraints''', which are the key to fixing the interaction between GADTs and type classes. GHC's users have been very polite about this collection of bugs, but they should really be fixed. Implication constraints are described by Martin Sulzmann: [http://www.comp.nus.edu.sg/~sulzmann/publications/tr-eadt.ps.gz]. 43 43 44 * Once the last bits of indexed data types are done, Manuel will be tackling '''indexed type synonyms'''(aka type functions), which are considerably trickier, at least so far as type inference is concerned.44 * Once the last bits of indexed data types are done, Manuel will be tackling [http://haskell.org/haskellwiki/GHC/Indexed_type_synonyms indexed type synonyms] (aka type functions), which are considerably trickier, at least so far as type inference is concerned. 45 45 46 Simon, Simon , with help from Manuel, Bulat and others, October 200646 Simon, Simon and sons, November 2006 :)
