Changes between Version 1 and Version 2 of ExplicitCallStack/CorePassImplementation
- Timestamp:
- 05/12/09 03:22:21 (4 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ExplicitCallStack/CorePassImplementation
v1 v2 9 9 * ExplicitCallStack - read this to get an overview of the idea 10 10 * [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] 12 13 13 14 == Examples == … … 141 142 has run 142 143 144 * {{{-fds-simple}}} which causes the desugarer to massivly simplify how it translates mutually recursive functions with typeclass/type parameter arguments. 145 143 146 === Annotations === 144 147 … … 199 202 {{{StripSrrcLocNote}}} that removes all these notes again. This is used in e.g. 200 203 desugaring {{{RULES}}} to make sure the patterns don't get clobbered. 204 205 However this is a bit messy. It could be better to add an explicit phase in the pipeline which goes 206 207 HSSyn --desugarer--> Expr SrcLocAnnotatedVar --passes that safely work with src locs--> Expr SrcLocAnnotatedVar --strip anns--> CoreExpr --rest of pipeline--> ... 208 209 Alternatively, HPC works fine on HSSyn, maybe that'd be a better target for this work. 201 210 202 211 === The transform === … … 317 326 There are several open problems and incomplete corners in the implementation 318 327 319 Some are mentioned here, they are elaborated on more fully in the draft paper on 320 this work which is TODOTODO. 328 Some are mentioned here, they are elaborated on more fully in the paper, linked above. 321 329 322 330 === Bootstrapping === … … 344 352 345 353 Type 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 348 355 349 356 === Source locations in {{{AbsBinds}}} === … … 363 370 === Higher order functions === 364 371 365 TODO: link tothe paper372 Also discussed in the paper
