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



Reply via email to