Changes between Version 13 and Version 14 of Internships


Ignore:
Timestamp:
Jan 16, 2008 2:49:48 PM (6 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Internships

    v13 v14  
    2222 
    2323To give you some idea, here are some past projects 
    24   * Kevin Donnelly is changing GHC's intermediate language to support equality constraints. 
    25   * Roshan James is writing a parallel garbage collection 
     24  * Kevin Donnelly changed GHC's intermediate language to support equality constraints. 
     25  * Roshan James wrote a parallel garbage collectof 
    2626  * Geoff Washburn made the first implementation of GADTs in GHC 
    2727  * Dimitrios Vitytonis worked on type inference for impredicative polymorphism 
     
    3030== Current projects == 
    3131 
    32 Here is a list of some possible future projects we have in mind: 
     32Here is a list of some possible future projects we have in mind.  But feel free to suggest your own! 
    3333 
    3434=== Programming environment and tools === 
     
    4949    * '''Improve the GHC API''', whereby you can import GHC as a library.  We make improvements now and then, but it would benefit from some sustained attention.  A particular project would be to port the Haskell refactorer [http://www.cs.kent.ac.uk/projects/refactor-fp/hare.html HaRE] to use the GHC API. 
    5050 
     51=== Types === 
     52 
     53 * '''Allow unboxed tuples as function arguments'''.   Currently unboxed tuples are second class; fixing this would be a nice simplification. 
     54 
     55  * '''Implement overlap and exhaustiveness checking for pattern matching'''.  GHC's current overlap and exhaustiveness checker is old and inadequate.  Furthermore, it takes no account of GADTs and type families.  
     56 
     57 * '''Extend kinds beyond * and k1->k2'''.  With GADTs etc we clearly want to have kinds like `Nat`, so that advanced hackery at the type level can be done in a typed language; currently it's all effectively untyped.  A neat approach would be to re-use any data type declaration as a kind declaration. 
     58 
     59 * '''Extensible constraint domains'''.  Andrew Kennedy shows how to incorporate [http://research.microsoft.com/~akenn/units/index.html dimensional analysis] into an ML-like type system.  Maybe we could do an extensible version of this, so that it wasn't restricted to dimensions.  Integer arithmetic is another obvious domain.   
     60 
     61 * Implement [http://repetae.net/john/recent/out/classalias.html John Meacham's class alias proposal] 
    5162 
    5263=== Parallel stuff === 
     
    5970  * Back end and code generation.  This is an active area at the moment, but there is sure to be more to do.  See suggestions in [wiki:BackEndNotes] 
    6071 
    61   * Implement [http://repetae.net/john/recent/out/classalias.html John Meacham's class alias proposal] 
    6272 
    6373=== Build system ===