First of all I have to thank everyone who responded so quickly to my call.
I think there is enough stuff for setting up some pages about the pains
of parsing Haskell (and some solutions for the problems, of course :-).
At the moment I'm browsing through the code and testing some of it. This
can take some time, as teaching and administrative stuff takes a large
amount of my own resources. Some remarks from the stuff seen so far:
* It is *very* hard to write a lexer/parser without space leaks or
strictness bugs, so profiling is a real must here. From the parsers
tested so far, only Graeme Moss' version using monadic parser
combinators seems to get this right. (I think, NHC's combinators
are correct in this respect, too, but I haven't tested them yet.)
* Only the large systems like GHC/HBC/Hugs use a parser generator.
Probably this is because of the ugly things one has to do for
parsing with the layout rule. Parser combinators manage this far
more elegantly.
* Handling fixity declarations across modules is not much fun.
* Multi-parameter type classes are needed in practice, not only for
some rather esoteric examples from category theory.
--
Sven Panne Tel.: +49/89/2178-2235
LMU, Institut fuer Informatik FAX : +49/89/2178-2211
LFE Programmier- und Modellierungssprachen Oettingenstr. 67
mailto:[EMAIL PROTECTED] D-80538 Muenchen
http://www.pms.informatik.uni-muenchen.de/mitarbeiter/panne