Michael Hobbs writes:

   Has anyone else read this paper? I'm interested in hearing
   comments, if only to point out some things that I may have
   missed. I'll admit, I haven't read the entire paper. I gave up
   after the 16th page, because it was so conceptually unwieldy. It's
   not that I had difficulty understanding how the system works, it's
   just that I found it difficult to believe that such a complex
   system would be useful in general practice. (Also, I'm not a
   mathematician who does a significant amount of work in category
   theory, so that may contribute to its apparent awkwardness to me.)

Hmmm.  *If* you believe that monads are a useful construct, and
understand them to an extent, then it is not clear to me why you would
have that much difficulty here.  (Sorry, that came out as very
negative --- I just mean that the concepts are so similar that an
understanding of one would seem to me to carry over fairly easily to
an understanding of the other.  I meant no disparagement.)

Part of this may be experience.  I have been working with Swierstra
and Duponcheel's parsing combinators, including modifying and adding
to them, for a few weeks now.  For one thing, they really are
noticeably faster for grammars that are not too complex --- those
things really zip along, and they are not yet even optimized for table
lookup (something I mean to do soon).  Therefore, I have no doubt that
being able to separtate out the static and dynamic information, and
operate on them separately, is a useful thing; I have already
encountered the utility myself.

Don't worry too much about the math.  In fact, I think John did well
there, emphasizing the utility of the arrows and not bringing up the
necessary laws until the final sections of the paper.  If you have not
looked at the Swierstra and Duponcheel paper, it really might help
explain why all this is necessary (although, believe me, it is not an
easy paper either --- I had a much harder time with it than I did with
John's).  Doaitse Swierstra has made the paper, and a working copy of
the combinators, available for download at:

http://www.cs.ruu.nl/groups/ST/Software/Parse/

While you're in the area, you might take a peek at their attribute
grammar system.  It's another example of where separating out static
and dynamic calculations might be of benefit.

                                        Dave Barton <*>
                                        [EMAIL PROTECTED] )0(
                                        http://www.averstar.com/~dlb


Reply via email to