Hi Doug,
>Has anyone had experience with Parsec vs. -- the Parser combinators
supplied
> with Manuel M. T. Chakravarty's Compiler Toolkit: > Self-optimizing LL(1)
parser combinators?
Allthough I can't be objective since I wrote the Parsec library, I do have a
lot of experience
with lots of different parser libraries.
The reason for writing the parsec library was my frustration with the
existing libraries;
they are all technically excellent but since they are all from research,
they normally
lack documentation, examples, extensive support libraries, good error
messages
and sometimes raw speed. All these things however are needed make a parser
library truly useful in "the real world"
I would advise you to try Parsec; It has been written from day one as a
"real world"
parser tool. It is simple (with simpler type errors),
it doesn't need a seperate lexer pass, it is faster than all other
libraries,
and it has extensive documentation and examples. Of course, no tool is
perfect but
I tried hard to make it an industrial strength library; you can decide in
how far I succeeded
(and I am very interested in your feedback if you decide to use it.)
I really hope that you can make your project succeed. Haskell is a great
language
and is definitely suitable for doing advanced document processing. Hopefully
the Parsec library can allow you to take advantage of Haskell's abstraction
mechanisms
and let you start working soon on the real challenges that XSLT presents.
All the best,
Daan.