Changes between Version 1 and Version 2 of ExplicitCallStack/CorePassImplementation


Ignore:
Timestamp:
May 12, 2009 10:22:21 AM (5 years ago)
Author:
TristanAllwood
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ExplicitCallStack/CorePassImplementation

    v1 v2  
    99  * ExplicitCallStack - read this to get an overview of the idea 
    1010  * [http://ghcmutterings.wordpress.com/2008/12/04/explicit-stack-traces/ Blog post giving an overview] 
    11   * [http://www.zonetora.co.uk/NonBlog/explicitCallStack.tgz The GHC patch] 
     11  * [http://code.haskell.org/explicitCallStackPaper/ Darcs repository with paper sources and patches] 
     12  * [http://pubs.doc.ic.ac.uk/finding-the-needle/ Paper describing the work submitted to Haskell Symposium 2009] 
    1213 
    1314== Examples == 
     
    141142    has run 
    142143 
     144  * {{{-fds-simple}}} which causes the desugarer to massivly simplify how it translates mutually recursive functions with typeclass/type parameter arguments. 
     145 
    143146=== Annotations === 
    144147 
     
    199202{{{StripSrrcLocNote}}} that removes all these notes again.  This is used in e.g. 
    200203desugaring {{{RULES}}} to make sure the patterns don't get clobbered. 
     204 
     205However this is a bit messy.  It could be better to add an explicit phase in the pipeline which goes 
     206 
     207HSSyn --desugarer--> Expr SrcLocAnnotatedVar --passes that safely work with src locs--> Expr SrcLocAnnotatedVar --strip anns--> CoreExpr --rest of pipeline--> ... 
     208 
     209Alternatively, HPC works fine on HSSyn, maybe that'd be a better target for this work. 
    201210 
    202211=== The transform === 
     
    317326There are several open problems and incomplete corners in the implementation 
    318327 
    319 Some are mentioned here, they are elaborated on more fully in the draft paper on 
    320 this work which is TODOTODO. 
     328Some are mentioned here, they are elaborated on more fully in the paper, linked above. 
    321329 
    322330=== Bootstrapping === 
     
    344352 
    345353Type classes provide many interesting problems; some theoretical, some pragmatic 
    346 - TODO: I have a section outlining some approaches in a draft paper that will be 
    347 linked from here.. 
     354- I have a section outlining some approaches in the paper 
    348355 
    349356=== Source locations in {{{AbsBinds}}} === 
     
    363370=== Higher order functions === 
    364371 
    365 TODO: link to the paper 
     372Also discussed in the paper