Changes between Version 5 and Version 6 of Status/Nov07


Ignore:
Timestamp:
Dec 4, 2007 11:20:36 AM (8 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Status/Nov07

    v5 v6  
    1212
    1313[[Image(Status/Nov07:totals.png)]]
     14
     15These graphs show "tickets" which include bugs, feature requests, and tasks.  Of the "open tickets", about half are bugs. 
    1416
    1517The major new features of 6.8.1 were described in the last issue
     
    9092== Type system stuff ==
    9193
    92  * I'll write more about type equalities
     94The big innovation in GHC's type system has been the gradual
     95introduction of indexed type families in the surface syntax, and of
     96type equalities in the internal machinery. 
     97
     98Indexed data families (called "associated data types" when
     99declared in type classes) are fairly simple, and they work fine
     100in GHC 6.8.1.  Indexed type families (aka "associated type synonyms")
     101are a different kettle of fish, especially when combined with
     102the ability to mention type equalities in overloaded types, thus:
     103{{{
     104  f :: forall a b. (a ~ [b]) => ...
     105}}}
     106Tom Schrijvers spent three months at Cambridge, working on
     107the theory and implementation of a type inference algorithm. As
     108a result we have a partially-working implementation, and we
     109understand the problem much better, but there is still much to
     110do, both on the theoretical and practical front.  It's trickier
     111than we thought!  We have a short paper [http://research.microsoft.com/%7Esimonpj/papers/assoc-types/index.htm Towards open type functions for Haskell] which
     112describes some of the issues, and an [http://hackage.haskell.org/trac/ghc/wiki/TypeFunctions wiki page] that we keep up to date; it has a link to details of implementation status.  This is all joint work with
     113Martin Sulzmann, Manuel Chakravarty, and Tom Schrijvers.
     114
     115
     116== Data parallel Haskell ==
     117
     118MANUEL: can you write something?
     119
    93120
    94121