"Simon Peyton-Jones" <[EMAIL PROTECTED]> writes: > | If anything I would like to see the Haskell community produce a Haskell > | front end which was compiler neutral. That would facilitate many > | interesting projects, and that might even help with the need to support > | new extensions as they come along. There are already some candidates > | floating around, but it seems they are not widely adopted. > > Well, "ghc -c -fext-core Foo.hs" is a Haskell front end that produces > System F code ("External Core"), in a file Foo.hcr. I'm not sure > whether that was what you meant.
External Core is great for some purposes - if you want to play with new optimisation techniques for instance. A tracing system like Hat however wants to have lots of direct linkage back to the original source code. External core doesn't bear a terribly close resemblence to the source - it would require a significant amount of re-sugaring for presentation to the user of Hat. It also loses the actual location of expressions (line/column), although perhaps GHC-as-library would be better in this respect. The ideal front-end for a syntax-directed tool like Hat consists solely of a lexer/parser to an abstract syntax tree, with no desugaring whatsoever, and no typechecking. This is essentially what we have at the moment, but based on nhc98's front-end. For better coverage of language extensions, ghc's parser might be preferable. One can imagine that other tools would want to plug into the pipeline at differents points (after desugaring but before type-checking; after type-checking; etc.) Regards, Malcolm _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe