From: "Daniel Bünzli" <daniel.buenzli@erratique.ch>
To: Yitzhak Mandelbaum <yitzhakm@cs.princeton.edu>
Cc: Caml-list List <caml-list@inria.fr>
Subject: Re: [Caml-list] Array.make exception and parser
Date: Tue, 4 Jan 2011 21:36:50 +0100 [thread overview]
Message-ID: <AANLkTi=V9rbUt+DX_FEn318Qx-=xGG+=vOFtz6C+s_Lp@mail.gmail.com> (raw)
In-Reply-To: <5D8B19DD-7BE3-4ECB-83E3-C20D5463CFDF@cs.princeton.edu>
> There are more modern LR parser generators which do a far better job and there's no theoretical reason they can't do just as well as LL tools.
I'm not talking about theory. Practically I have never seen an LR
parser throw me good error messages. Besides ocaml users
(understandably) do use ocamlyacc since it comes with the distribution
and is needed by the ocaml compiler.
> Also, you might want to keep in mind that this is largely a zero-sum game. If the developers spend more time on the parser, that's less time on the rest of the compiler or new research. So, saving developer time does, in fact, mean *more* user convenience -- just in a different part of the compiler.
I dont buy this. Loosing the time of your users by producing crappy
error messages is never a user convenience. And for a programming
language like ocaml this also has the bad side effect to make the
beginner's learning curve much steeper, which doesn't benefit ocaml
developers as a whole.
I think you overestimate the time it takes to code a recursive descent
parser. The needed infrastructure is nothing more than a programming
pattern. After that your code pretty much follows your (LL factored)
grammar.
Best,
Daniel
next prev parent reply other threads:[~2011-01-04 20:36 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-04 13:41 Jean Krivine
2011-01-04 14:56 ` Daniel Bünzli
2011-01-04 14:57 ` Daniel Bünzli
2011-01-04 14:57 ` Török Edwin
2011-01-04 15:14 ` Jean Krivine
2011-01-04 15:31 ` Daniel Bünzli
2011-01-04 16:22 ` Yitzhak Mandelbaum
2011-01-04 16:42 ` Daniel Bünzli
2011-01-04 17:03 ` Yitzhak Mandelbaum
2011-01-04 17:04 ` Jean Krivine
2011-01-04 17:22 ` Daniel Bünzli
2011-01-04 15:38 ` bluestorm
2011-01-04 17:43 ` Jean Krivine
[not found] ` <1125074892.441923.1294163043602.JavaMail.root@zmbs2.inria.fr>
2011-01-04 17:53 ` Francois Pottier
[not found] ` <1259991756.440008.1294155536392.JavaMail.root@zmbs2.inria.fr>
2011-01-04 17:45 ` Francois Pottier
2011-01-04 19:30 ` Daniel Bünzli
2011-01-04 19:52 ` Yitzhak Mandelbaum
2011-01-04 20:36 ` Daniel Bünzli [this message]
[not found] ` <1263353434.442766.1294169448342.JavaMail.root@zmbs2.inria.fr>
2011-01-04 20:31 ` Francois Pottier
2011-01-04 20:40 ` Lukasz Stafiniak
2011-01-04 21:03 ` Török Edwin
2011-01-05 3:24 ` Yitzhak Mandelbaum
2011-01-05 14:12 ` Boris Yakobowski
2011-01-05 21:12 ` Boris Yakobowski
2011-01-05 13:37 ` Xavier Leroy
2011-01-05 13:46 ` Jean Krivine
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='AANLkTi=V9rbUt+DX_FEn318Qx-=xGG+=vOFtz6C+s_Lp@mail.gmail.com' \
--to=daniel.buenzli@erratique.ch \
--cc=caml-list@inria.fr \
--cc=yitzhakm@cs.princeton.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox