Changes between Version 7 and Version 8 of Status/October06


Ignore:
Timestamp:
Oct 31, 2006 4:45:04 PM (7 years ago)
Author:
guest
Comment:

splitted into 6.6/HEAD/future parts

Legend:

Unmodified
Added
Removed
Modified
  • Status/October06

    v7 v8  
    1414 
    1515  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). 
    16    
    17   * 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. 
    1816 
    19   * We completely replaced GHC's intermediate language with '''System FC(X)''', an extension of System F with explicit equality witnesses.  This enables GHC to support GADTs and associated types, with two new simple but powerful mechanisms. The paper is at [http://research.microsoft.com/%7Esimonpj/papers/ext-f/]. Much of the conversion work was done by Kevin Donnelly, while he was on an internship at Microsoft. 
     17We (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. Main improvement over GHC 6.4 is support for SMP systems - now GHC can execute several Haskell threads on different cpus/cores. There also lot of other improvements, stare at [http://haskell.org/ghc/docs/6.6/html/users_guide/release-6-6.html Release notes] and jump to [http://www.haskell.org/ghc/download_ghc_66.html Download] page to get it 
     18 
     19 * 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]. 
     20 
     21Life still go on, and current HEAD version (download url?) that will ultimately become GHC 6.8 adds new features: 
     22 
     23 * We completely replaced GHC's intermediate language with '''System FC(X)''', an extension of System F with explicit equality witnesses.  This enables GHC to support GADTs and associated types, with two new simple but powerful mechanisms. The paper is at [http://research.microsoft.com/%7Esimonpj/papers/ext-f/]. Much of the conversion work was done by Kevin Donnelly, while he was on an internship at Microsoft. 
    2024 
    2125 * Manuel Chakravarty has implemented '''type-indexed data types''', a modest generalisation of the ''associated data types'' of our POPL'05 paper  [http://research.microsoft.com/%7Esimonpj/papers/assoc%2Dtypes/]. The implementation is in the HEAD and is ready to be tried out; details are at [http://haskell.org/haskellwiki/GHC/Indexed_types] Still to come are some bits around the edges on `deriving` and some small syntactic generalisations. 
    22  
    23  * 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] 
    24  
    25  * 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. 
    26  
    27  * 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]. 
    2826 
    2927 * Tim Harris added support for '''invariants''' to GHC's Software Transactional Memory (STM) implementation. Paper here: [http://research.microsoft.com/%7Esimonpj/papers/stm/]. 
     
    3331 * Andy Gill implemented the '''Haskell Program Coverage''' option ('''-fhpc''') for GHC, which succesfully bootstrapped GHC. It turns out that the GHC testsuite gives remarkably good coverage over GHC already. 
    3432 
    35 Forthcoming excitements: 
     33We also work on the following features that isn't yet in GHC HEAD but finally should go there and then become a part of GHC 6.8: 
    3634 
    37  *  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]. 
     35 * 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] 
    3836 
    3937 * We hope to release a first iteration of our '''data-parallel extensions''' before Christmas. 
    4038 
     39 * 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 
     41 * 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]. 
     42 
    4143 * Once the last bits of ''indexed data types'' are done, Manuel will be tackling '''indexed type synonyms''' (aka type functions), which are considerably tricker, at least so far as type inference is concerned. 
    4244 
    43 Simon Peyton Jones & Simon Marlow, October 2006 
     45Simon, Simon & sons, October 2006 :)