Changes between Version 21 and Version 22 of Status/May11


Ignore:
Timestamp:
Apr 29, 2011 8:54:47 AM (3 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Status/May11

    v21 v22  
    77 * In the autumn, Dimitrios and Simon PJ implemented a completely 
    88   new constraint solver for the type checker; we also complete an 
    9    epic JFP paper describing how it works [[http://research.microsoft.com/en-us/um/people/simonpj/papers/constraints/ OutsideIn]].  The new 
     9   epic JFP paper describing how it works [[http://research.microsoft.com/~simonpj/papers/constraints/ OutsideIn]].  The new 
    1010   solver is far more tractable and maintainable than the old type 
    1111   checker, and has fixed many outstanding problems.  We are still 
     
    2828 Core had to grow a little.  For a few 
    2929 years we have been using an extension of System F, called System 
    30  FC, as described in our 2007 paper [[http://research.microsoft.com/en-us/um/people/simonpj/papers/ext-f/ FC]].  However, the way that System FC 
     30 FC, as described in our 2007 paper [[http://research.microsoft.com/~simonpj/papers/ext-f/ FC]].  However, the way that System FC 
    3131 was actually ''implemented'' in GHC's Core language was a bit unsatisfactory 
    3232 so, with help from '''Brent Yorgey''', Simon PJ is busy re-engineering it.  
     
    3535 squeezed into `Type`.  Moreover, these coercion terms can get big,  
    3636 so there's a new "coercion optimiser" to replace big coercions by 
    37  equivalent smaller ones. All this is described in our new paper [http://research.microsoft.com/en-us/um/people/simonpj/papers/ext-f/ NewFC]. 
     37 equivalent smaller ones. All this is described in our new paper [http://research.microsoft.com/~simonpj/papers/ext-f/ NewFC]. 
    3838 These changes will (finally) complete the type-family story by 
    3939 making so-called "equality superclasses" work for the first time in GHC 7.2. 
     
    4646   code generation backend (`-fuse-new-codegen`, the rewrite of 
    4747   the part of GHC that turns STG syntax into C--).  Hoopl is now 
    48    fully part of GHC [[http://research.microsoft.com/en-us/um/people/simonpj/papers/c--/ Hoopl]], and the new path uses it extensively; we’ve 
     48   fully part of GHC [[http://research.microsoft.com/~simonpj/papers/c--/ Hoopl]], and the new path uses it extensively; we’ve 
    4949   ironed out most of the bugs in the backend; and now we’re 
    5050   working on new optimization passes and fixing inefficiencies to 
     
    5454   Stay tuned. 
    5555 
    56  * Simon Marlow and '''Ryan Newton''' have developed a neat new library for deterministic parallel progarmming in Haskell; read their ICFP submission [[http://research.microsoft.com/en-us/um/people/simonpj/papers/parallel/ DetPar]]. The model is monadic and has explicit control over granularity, but allows dynamic construction of dataflow networks that are scheduled at runtime, while remaining deterministic and pure. 
     56 * Simon Marlow and '''Ryan Newton''' have developed a neat new library for deterministic parallel progarmming in Haskell; read their ICFP submission [[http://research.microsoft.com/~simonpj/papers/parallel/ DetPar]]. The model is monadic and has explicit control over granularity, but allows dynamic construction of dataflow networks that are scheduled at runtime, while remaining deterministic and pure. 
    5757 
    5858 * '''Simon Marlow: any update?''' Previous entry: ''Simon Marlow is working on a new garbage collector that is designed to improve scaling of parallel programs beyond small numbers of cores, by allowing each processor core to collect its own local heap independently of the other cores.  Some encouraging preliminary results were reported in a [http://hackage.haskell.org/trac/ghc/blog/2010/9#new-gc-preview blog post].  Work on this continues; the complexity of the system and the number of interacting design choices means that achieving an implementation that works well in a broad variety of situations is proving to be quite a challenge.'' 
     
    8585Here's a selection that we know about. 
    8686 
    87  * '''Jeff Epstein''', in collaboration with Andrew Black, has implemented a library that brings Erlang's programming model to Haskell programmers.  In particular, you can write a Haskell program that runs on a cluster of machines that do not share memory.  It is all based on a modest but powerful language extension that makes it possible for a programmer to work with "static" functions; that is, ones consisting of pure code with no free variables.  The paper that describes all this is called "Haskell for the cloud" [[http://research.microsoft.com/en-us/um/people/simonpj/papers/parallel/ Cloud]]. 
     87 * '''Jeff Epstein''', in collaboration with Andrew Black, has implemented a library that brings Erlang's programming model to Haskell programmers.  In particular, you can write a Haskell program that runs on a cluster of machines that do not share memory.  It is all based on a modest but powerful language extension that makes it possible for a programmer to work with "static" functions; that is, ones consisting of pure code with no free variables.  The paper that describes all this is called "Haskell for the cloud" [[http://research.microsoft.com/~simonpj/papers/parallel/ Cloud]]. 
    8888 
    89  * '''Max Bolingbroke''' continues his !PhD work on supercompilation, with a nice new paper [[http://research.microsoft.com/en-us/um/people/simonpj/papers/supercompilation/ ImprovingSupercompilation]].  The plan is to make his supercompiler part of GHC, over the next year or so. 
     89 * '''Max Bolingbroke''' continues his !PhD work on supercompilation, with a nice new paper [[http://research.microsoft.com/~simonpj/papers/supercompilation/ ImprovingSupercompilation]].  The plan is to make his supercompiler part of GHC, over the next year or so. 
    9090  
    9191 * ''David Mazieres at Stanford wants to implement '''Safe Haskell''', a flag for GHC that will guarantee that your program does not use `unsafePerformIO`, foreign calls, RULES, and other stuff stuff.'' 
     
    113113== Bibliography == 
    114114 
    115  * [Cloud] "Haskell for the cloud", Epstein, Black, Peyton Jones, submitted to ICFP 2011, http://research.microsoft.com/en-us/um/people/simonpj/papers/parallel/ 
     115 * [Cloud] "Haskell for the cloud", Epstein, Black, Peyton Jones, submitted to ICFP 2011, http://research.microsoft.com/~simonpj/papers/parallel/ 
    116116 
    117117 * [Derivable] "A generic deriving mechanism for Haskell", Magalhães, Dijkstra, Jeuring and Löh, Haskell Symposium 2010, http://www.dreixel.net/research/pdf/gdmh_nocolor.pdf. 
    118118 
    119  * [!DetPar] "A monad for deterministic parallelism", Marlow, Newton, and Peyton Jones, submitted to ICFP 2011, http://research.microsoft.com/en-us/um/people/simonpj/papers/parallel/ 
     119 * [!DetPar] "A monad for deterministic parallelism", Marlow, Newton, and Peyton Jones, submitted to ICFP 2011, http://research.microsoft.com/~simonpj/papers/parallel/ 
    120120 
    121  * [FC] "System F with type equality coercions", Sulzmann, Chakravarty, Peyton Jones, TLDI 2007, http://research.microsoft.com/en-us/um/people/simonpj/papers/ext-f/ 
     121 * [FC] "System F with type equality coercions", Sulzmann, Chakravarty, Peyton Jones, TLDI 2007, http://research.microsoft.com/~simonpj/papers/ext-f/ 
    122122 
    123  * [Hoopl] "A modular, reusable library for dataflow analysis and transformation", Dias, Ramsey, and Peyton Jones, Haskell Symposium 2010, http://research.microsoft.com/en-us/um/people/simonpj/papers/c--/ 
     123 * [Hoopl] "A modular, reusable library for dataflow analysis and transformation", Dias, Ramsey, and Peyton Jones, Haskell Symposium 2010, http://research.microsoft.com/~simonpj/papers/c--/ 
    124124 
    125  * [!ImprovingSupercompilation] "Improving supercompilation: tag-bags, rollback, speculation, normalisation, and generalisation", Bolingbroke and Peyton Jones, submitted to ICFP 2011, http://research.microsoft.com/en-us/um/people/simonpj/papers/supercompilation/ 
     125 * [!ImprovingSupercompilation] "Improving supercompilation: tag-bags, rollback, speculation, normalisation, and generalisation", Bolingbroke and Peyton Jones, submitted to ICFP 2011, http://research.microsoft.com/~simonpj/papers/supercompilation/ 
    126126 
    127  * [NewFC] "Practical aspects of evidence-based compilation in System FC", Vytiniotis and Peyton Jones, submitted to ICFP 2011, http://research.microsoft.com/en-us/um/people/simonpj/papers/ext-f/ 
     127 * [NewFC] "Practical aspects of evidence-based compilation in System FC", Vytiniotis and Peyton Jones, submitted to ICFP 2011, http://research.microsoft.com/~simonpj/papers/ext-f/ 
    128128 
    129  * [!OutsideIn] "Modular type inference iwth local assumptions", Vytiniotis, Peyton Jones, Schrijvers, and Sulzmann, Journal of Functional Programming (to appear), http://research.microsoft.com/en-us/um/people/simonpj/papers/constraints/ 
     129 * [!OutsideIn] "Modular type inference iwth local assumptions", Vytiniotis, Peyton Jones, Schrijvers, and Sulzmann, Journal of Functional Programming (to appear), http://research.microsoft.com/~simonpj/papers/constraints/ 
    130130 
    131131 * [!ParallelGhcProject] "The Parallel GHC Project home page", http://www.haskell.org/haskellwiki/Parallel_GHC_Project 
    132132 
    133  * [Repa] "Regular, shape-polymorphic parallel arrays in Haskell", Keller, Chakravarty, Leshchinskiy, Peyton Jones, and Lippmeier, ICFP 2010.  Paper: http://research.microsoft.com/en-us/um/people/simonpj/papers/ndp/, Hackage package: http://hackage.haskell.org/package/repa 
     133 * [Repa] "Regular, shape-polymorphic parallel arrays in Haskell", Keller, Chakravarty, Leshchinskiy, Peyton Jones, and Lippmeier, ICFP 2010.  Paper: http://research.microsoft.com/~simonpj/papers/ndp/, Hackage package: http://hackage.haskell.org/package/repa 
    134134 
    135135 * [SHE] The Strathclyde Haskell Enhancement, Conor !McBride, 2010, http://personal.cis.strath.ac.uk/~conor/pub/she/