Changes between Version 2 and Version 3 of Status/May08


Ignore:
Timestamp:
May 6, 2008 12:18:48 PM (6 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Status/May08

    v2 v3  
    11= GHC Status May 2008 = 
    22 
    3 TODO: 
    4  * Current status of type families and integration of GADTs -=chak 
    5  * Current status of Data Parallel Haskell -=chak 
     3The last six months have been a time of consolidation for GHC.  We have done many of the things described in the last HCAR status report (November 2007), but there are few new headline items to report, so this status report is briefer than usual.   
     4 
     5  * '''Simple language extensions''' 
     6    * Record syntax: wild-card patterns, punning, and field disambiguation 
     7    * View patterns 
     8    * Generalised list comprehensions 
     9    * Quasi-quoting 
     10 
     11  * '''Type-indexed families'''.  We learned a lot by writing a paper about the question of type inference in the presence of type families (and existentials, and GADTs): "[http://research.microsoft.com/%7Esimonpj/papers/assoc-types Type checking with open type functions]".  The implementation has not quite caught up with the paper and is still incomplete in many ways, but it's a focus of active work.   
     12 
     13  * '''Parallel garbage collection'''. Much implementation work, and a paper for ISMM 2008: "[http://research.microsoft.com/%7Esimonpj/papers/parallel-gc/index.htm Parallel generational-copying garbage collection with a block-structured heap]".  
     14 
     15  * '''Impredicative polymorphism'''.  We're not happy with GHC's current implementation of impredicative polymorphism, which is rather complicated and ad hoc.  Dimitrios (with Simon and Stephanie) wrote a paper about a new and better approach: "[http://research.microsoft.com/%7Esimonpj/papers/boxy FPH : First-class Polymorphism for Haskell]".  At the same time, Daan Leijen refined his closely-related design: "[http://research.microsoft.com/users/daan/pubs.html Flexible types: robust type inference for first-class polymorphism]".  Daan's design has a much simpler implementation, in exchange for an (arguably) less-predicatable specification.  Which of these two should we implement?  Let us know! 
     16 
     17Work on the back end has been stalled, but John Dias started a 6-month internship in April, so expect progress on this front! 
     18 
     19== Nested data parallelism == 
     20 
     21We have been working hard on Data Parallel Haskell, especially Roman Leshchinskiy and Gabriele Keller.  It has turned out be be hard to get the entire transformation and optimisation stack to work smoothly, and we have not made progress announcements because we don't want to yell about it until it Actually Works.  But it is the biggest single GHC focus: Roman works on it full time. 
     22 
     23''Manuel: more to say.'' 
     24 
     25We expect to release a working version of Data Parallel Haskell as part of GHC 6.10 (see below). 
     26 
     27 
     28== Release plans == 
     29 
     30We plan to release GHC 6.8.3 at the end of May 2008, with many bug-fixes but no new features. 
     31 
     32We plan to release GHC 6.10 around the time of ICFP, with significant new features.  The up-to-date list of new stuff is kept at [http://hackage.haskell.org/trac/ghc/wiki/Status/Releases], but here's a quick summary: 
     33  * Simple language extensions (mentioned above) 
     34  * Type-indexed families 
     35  * Data Parallel Haskell 
     36  * Parallel garbage collection 
     37  * Extensible exceptions 
     38  * Shared libraries 
     39  * Improved back end 
     40  * Further library reorganisation 
     41 
     42 
     43 
     44