Changes between Version 19 and Version 20 of Supercompilation


Ignore:
Timestamp:
Jul 17, 2009 8:09:21 AM (6 years ago)
Author:
simonpj
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Supercompilation

    v19 v20  
    1 == Notes on the implementation of Supercompilation in GHC ==
     1= Notes on the implementation of Supercompilation in GHC =
    22
    33This page is very much a draft and may be incorrect in places. Please fix problems that you spot.
     4
     5== Diffferences from Supero ==
    46
    57An attempted list at differences between [http://community.haskell.org/~ndm/supero Supero] and [http://www.csee.ltu.se/~pj/papers/scp/popl09-scp.pdf positive supercompilation for call-by-value] (abbreviated to pscp below).
     
    1820What is not mentioned in either of our works though is that it is a typed intermediate representation in GHC. System Fc has the casts that might get in the way of transformations (so effectively they are some kind of annoying expressions). Rank-n polymorphism is another potential problem, but I am not sure if that will be a problem with System Fc. These are not fundamental problems that will take two months to solve, but I think that implementing a supercompiler for System Fc is more than just two days of intense hacking, even for someone already familiar with GHC internals.
    1921
    20 Progress report at the end of June:
     22== Progress report at the end of June ==
    2123
    2224A substitution based implementation exists, that transforms append, reverse with accumulating parameters, basic arithmetics and similar things. There are still bugs in the implementation, mainly name capture. It takes 8 seconds to transform the double append example, but there's still plenty of room for improvement with respect to performance.
     
    3032 * Implement Simon's algorithm.
    3133
    32 Open questions:
     34== Open questions ==
    3335
    3436 * Should R contexts include let-statements? Need to worry about name capture even more then.