Changes between Version 3 and Version 4 of Status/Oct10


Ignore:
Timestamp:
Oct 22, 2010 11:01:21 PM (4 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Status/Oct10

    v3 v4  
    33GHC is humming along.  We are currently deep into the release cycle for GHC 7.0.  We have finally bumped the major version number, becuase GHC 7.0 has quite a bit of new stuff 
    44 
    5  * As long promised, Simon PJ and Dimitrios have spent a good chunk of the summer doing a complete rewrite of the constraint solver in the type inference engine.  Because of GHC's myriad type-system extensions, especially GADTs and type famlies, the old engine had begun to resemble the final stages of a game of Jenga.  It was a delicately-balanced pile of blocks that lived in constant danger of complete collapse, and had become extremely different to modify (or even to understand).  The new inference engine is much more modular and robust; it is described in detail in our paper [[http://haskell.org/haskellwiki/Simonpj/Talk:OutsideIn OutsideIn]].   
     5 * As long promised, Simon PJ and Dimitrios have spent a good chunk of the summer doing a complete rewrite of the constraint solver in the type inference engine.  Because of GHC's myriad type-system extensions, especially GADTs and type famlies, the old engine had begun to resemble the final stages of a game of Jenga.  It was a delicately-balanced pile of blocks that lived in constant danger of complete collapse, and had become extremely different to modify (or even to understand).  The new inference engine is much more modular and robust; it is described in detail in our paper [[http://haskell.org/haskellwiki/Simonpj/Talk:OutsideIn OutsideIn]].  A blog post describes some consequential changes to let generalisation [LetGen]. 
    66 
    77 As a result we have closed dozens of open type inference bugs, especially related to GADTs and type families. 
     
    4848 * Next after that is a mechanism for promotimg types to become kinds, and data constructors to become types, so that you can do ''typed'' functional programming at the type level.  Conor !McBride's SHE prototype is the inspiration here [SHE].  Currently it is, embarrassingly, essentially untyped.   
    4949 
     50 * Template Haskell seems to be increasingly widely used.  Simon PJ has written a proposal for a raft of improvements, which we plan to implement in the new year [TemplateHaskell]. 
     51 
    5052 * Iavor Diatchki plans to add numeric types, so that you can have a type like `Bus 8`, and do simple arithmetic at the type level.  You can encode this stuff, but it's easier to use and more powerful to do it directly. 
    5153 
     
    7880 * [Derivable] "A generic deriving mechanism for Haskell", Magalhães, Dijkstra, Jeuring and Löh, Haskell Symposium 2010, www.dreixel.net/research/pdf/gdmh_nocolor.pdf. 
    7981 
     82 * [LetGen] "Let generalisation in GHC 7.0", Peyton Jones, blog post Sept 2010, http://hackage.haskell.org/trac/ghc/blog/LetGeneralisationInGhc7 
    8083 * [Newtype] "Generative Type Abstraction and Type-level Computation", Weirich, Zdancewic, Vytiniotis, and Peyton Jones, POPL 2010, http://www.cis.upenn.edu/~sweirich/newtypes.pdf 
    8184 
     
    8386 
    8487 * [SHE] The Strathclyde Haskell Enhancement, Conor McBride, 2010, http://personal.cis.strath.ac.uk/~conor/pub/she/ 
     88 
     89 * [TemplateHaskell] New directions for Template Haskell, Peyton Jones, blog post October 2010, http://hackage.haskell.org/trac/ghc/blog/Template%20Haskell%20Proposal