caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] CFG's and Camlp4
@ 2004-08-13 18:11 David McClain
  2004-08-13 18:48 ` Paul Snively
  0 siblings, 1 reply; 2+ messages in thread
From: David McClain @ 2004-08-13 18:11 UTC (permalink / raw)
  To: caml

Actually, after having put off learning Camlp4 for quite some time because
it seemed so arcane, I now decided at the urging of several people to dig
into it.

I have to say that I am quite impressed. Camlp4 represents a kind of
paradigm shift that I was hoping to see when pleading for more modern
approaches. In fact it seems so modern that I'm still trying to wrap my
brain around it.

Already I have several other uses for this preprocessing. But the idea of an
extensible grammar, on the fly, is very appealing. I do huge amounts of Lisp
macrology and came to miss that. I thought to myself that OCaml at least
made up for it by being so darned convenient to use at the functional level
that macros just seemed nonessential. But that isn't quite true, and now
Camlp4 comes to the rescue.

The difficulty I have been having with YACC seems to be caused by the
reduction from LL(1) to LALR(1), where tables have shrunk by coalescing what
appear to be common productions. That is in fact true for expressions and
patterns. However, we (Inria and myself) both expect to use different
semantic actions on these two similar syntactic breeds. That becomes
problematic when the parser folds the two cases together. What I'm doing
would probably work just fine in LL(1), but not entirely correctly in
LALR(1).

[I studied the "Dragon Book" many years ago, and was ever so grateful when
that came to an end. I see now that many of my misconceptions about language
grammar compilers were never properly reoriented during that period. I must
also say that I much prefer the arcane new world of Camlp4. Perhaps I just
like new ideas. I certainly do like new ideas that both work, and force my
brain onto an entirely new plane. YACC was a great idea at the time. I know
it still has heavy use -- I use it myself. But dynamically extensible
grammars seem like a neat new idea.]

David McClain
Senior Corporate Scientist
Avisere, Inc.

+1.520.390.7738 (USA)
david.mcclain@avisere.com



-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-08-13 18:49 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-13 18:11 [Caml-list] CFG's and Camlp4 David McClain
2004-08-13 18:48 ` Paul Snively

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).