
Hi
Sorry for being unclear. I agree with your comments on GHC, and one thing I was suggesting was that somebody should think about profiling tools for improving our understanding of how those transformations interact with each other, not just profiling tools for understanding the end result.
That would be very neat. Another neat trick would be generalising optimisations so that there are fewer and more independant passes, this would make it easier to understand (and is what I was working on for Yhc).
I agree that there should be more diversity in compilers, but I think even sticking to GHC, there's a lot that could be done when it comes to improving understanding of just what the optimizer is doing. Anything better than staring at intermediate code would be an improvement, since time spent staring at intermediate code usually is time spent narrowing down the 2 lines out of 1000 that are relevant.
Yhc has intermediate code that is substantially more Haskell like, and with the command: loadCore "file.ycr" >>= writeFile "file.html" . coreHtml You can generate an active Html document that lets you explore the Core in a more interactive way - including hyperlinks for function names, syntax hilighting etc. i.e: http://www.cs.york.ac.uk/fp/yhc/Roman.html All of these things make playing with Yhc Core much more fun than playing with GHC Core. There is absolutely no reason you couldn't add all these things to GHC Core, then perhaps you'd save some time when it does come to the "examine core" level. Thanks Neil