
John Meacham wrote:
It is somewhat depressing that immutable pre-packaged macros[1] and the simple brute-force inclusion of separate tools[2] into the editor are hailed as innovation, when new innovations, whether they are simple refinements of old ideas[3], excercises in orthoginality[4], or truely new research[5] are left to the wayside. But such is the power of the bullet point.
John
[1] many (but not all) refactoring features i have seen.
This is a little harsh. The refactoring features I've seen (in Eclipse) are more than macros; they are semantically aware. That is, they understand the scoping and typing of the language and they can distinguish between 'a' in an inner scope and 'a' in an outer scope, so they they can do a safe rename. Then can also distinguish between List (the class imported from my.cool.package) and List (the class imported from java.main.package) and do a safe multi-file rename so you have a true 'atomic' class renaming ability. These things go well beyond syntactic macros. It is often stated that Java has such powerful IDEs because it's such a tedious language to edit without them, and I have some sympathy for that line of argument, but I would love to have local definition floating and project-global rename and so on in my haskell editor. I know people are working on this stuff. Jules