
Second, this argument would be easier to accept if there in fact were an equally innovative tool capable of providing all the editing goodies Emacs normally does, for Haskell. But I don't know of one, even now, 10 years or so after Haskell's birth.
Well, it was one of the happier accidents in programming language history that Lisp was implemented and released before it received a concrete syntax. But Haskell isn't built on s-expressions. Simon M. says that syntax highlighting for Haskell is quite doable, and Haskell modes for other editors seem to support that claim, as others have pointed out. So I wonder whether what once was a very innovative tool is in the process of becoming just another legacy. I'm relatively happy with my editor, as far as editors go. What features (editing goodies) are you referring to?
.. There was recently a PhD position advertised on the list in the area of refactoring functional programs; I'd be surprised if whoever does that doesn't eventually end up with a GUI (whether inherited from somewhere else or written as part of the project).
Postdoc, actually. Although, once we have someone in place on that position, it would also be nice to complement our project with a PhD candidate working on refactoring in another functional language (Erlang, say), sufficiently different from both Haskell and from the oo/imperative languages for which refactoring support is now becoming more and more common. As for innovation in program editing, the idea (and problem) is not so much awareness of lexical syntax (syntax highlighting) or editing at the level of abstract syntax (for those with unhappy memories of structure editors: we want syntax-aware editors, not syntax-directed ones), but making editing tools more aware of language semantics (static semantics, at least). As for GUIs, we would like to avoid getting into editor wars, and we would rather spend our time on the refactoring side than on implementing YAE, yet another editor. Simon and I happen to use the same YFE (your favourite editor), but we know that there's a big group of Haskell users who wouldn't be very pleased if they had to switch from TOE (that other editor) to YFE, just to make use of our refactoring tool (note that I'm silently ignoring AOE, all other editors here;-). And both groups would be very unhappy if they had to go from their own powerful, all-purpose editor to whatever we could hack up while we should be doing other things. It's too early to say how things will pan out in the end, but we'd like to start with a separate refactorer, with a well-defined interface, and bindings to that interface for both YFE and TOE. As you suggest, the refactorer will have rather more information about the program than might easily be displayed via YFE/TOE/ETC, so we might need a separate GUI at some point. We'll see.. IYSWIM?-) Claus Refactoring Functional Programs http://www.cs.ukc.ac.uk/people/staff/sjt/Refactor/