caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Martin Jambon <martin.jambon@ens-lyon.org>
To: skaller <skaller@users.sourceforge.net>
Cc: Diego Olivier FERNANDEZ PONS <diego.fernandez_pons@etu.upmc.fr>,
	caml-list@inria.fr
Subject: new+old Camlp4 (was Re: [Caml-list] Bug in ocamlyacc)
Date: Tue, 24 Apr 2007 13:17:31 -0700 (PDT)	[thread overview]
Message-ID: <Pine.LNX.4.58.0704241231220.19902@localhost> (raw)
In-Reply-To: <1177439118.6172.18.camel@rosella.wigram>

On Wed, 25 Apr 2007, skaller wrote:

> On Tue, 2007-04-24 at 12:23 +0200, Diego Olivier FERNANDEZ PONS wrote:
> > Bonjour,
> >
> > > I won't use Menhir for that reason either.[...]
> >
> > Come on, Skaller. You know as well as everyone that adding a tool that
> > is not mature enough to the standard distribution is a bad idea.
>
> Not if it is optional, like the ocamlbuild tool for example.
>
> > Mehnir is clearly the "official" candidate for replacement of
> > CamlYacc, without yet being mandatory. This gives you the time to
> > port, criticize and ask for improvements. Look the mess that happened
> > with CamlP4 which didn't follow this pattern.
>
> There do indeed appear to be some issues with camlp4.
> However what was done was the 'right thing' despite that --
> IMHO of course.
>
> First: few would have tested it, given the incompatibilities,
> it it were not forced onto the market.
>
> Second: Ocaml 3.10 is still in beta, and the author(s) of
> camlp4 *needed* the feedback and participation from the community.
>
> Third: the community wanted a better camlp4: this is the price,
> and I believe most people using camlp4 are willing to help
> and get it working.

I wanted to start this as dedicated thread, but let's do it now.
The current situation with camlp4 3.10-beta is terrible. Not
because the new camlp4 is not good or anything, but because it is not
compatible with the old one and yet replaces it. Replacing the old one by
the new one in the next release of OCaml is practically unmanageable
because:

1) Source duplication is unavoidable
2) Upgrading to the new camlp4 is not automatic

The direct consequences are that it will take time until all syntax
extensions support camlp4/ocaml 3.10, and probably anything new will work
with either ocaml 3.09 or 3.10, but not both.

I started upgrading some of my non-trivial syntax extensions already. It's
ok to translate a file once, but I'll be adding new features and I don't
know if I should continue to support ocaml 3.09 or ocaml 3.10. Even though
I want to support both, I can't because it takes twice the time and it's
pretty boring.

A smooth transition would be much preferrable. I acknowledge that I don't
know how make it possible to use syntax extensions using the old and the
new camlp4 on a same ocaml source file, but for those using only one
extension or several extensions using the same version of camlp4, it would
be convenient if it just works.

It could go like "the old camlp4 is deprecated, and support will be
dropped completely [one year after the first stable-and-documented release
of camlp4 3.10]"

* It means two versions of camlp4 would be distributed and installed with
  ocaml 3.10.
* Command names for the new camlp4 would be distinct from the old camlp4.
* Old programs would still compile and work without having to patch
  makefiles.
* Upgraded programs could add new features only to the 3.10 version, while
  maintaining minimal support (bug fixes) for the 3.09 version, without
  forcing the camlp4 programmer to use ocaml 3.09 for testing.
* New programs could support only the new camlp4.

Does that make sense?

Camlp4 is such a great tool, it would be sad to loose some users just
because of compatibility uncertainties.



Martin

--
Martin Jambon
http://martin.jambon.free.fr


  reply	other threads:[~2007-04-24 20:17 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-23 22:03 Bug in ocamlyacc David Allsopp
2007-04-24  5:29 ` [Caml-list] " skaller
2007-04-24 10:23   ` Diego Olivier FERNANDEZ PONS
2007-04-24 12:06     ` ls-ocaml-developer-2006
2007-04-24 18:25     ` skaller
2007-04-24 20:17       ` Martin Jambon [this message]
2007-04-24 21:38         ` new+old Camlp4 (was Re: [Caml-list] Bug in ocamlyacc) Yaron Minsky
2007-04-24 22:53           ` new+old Camlp4 ls-ocaml-developer-2006
2007-04-25  1:03         ` new+old Camlp4 (was Re: [Caml-list] Bug in ocamlyacc) skaller
2007-04-25  2:29         ` Daniel de Rauglaudre
2007-04-25 17:11         ` Markus Mottl
2007-04-26  3:00           ` skaller
2007-04-27  9:15           ` new+old Camlp4 Xavier Leroy
2007-04-27 13:43             ` Markus Mottl
2007-05-02  8:03             ` [Caml-list] " Hendrik Tews
2007-04-24 14:32   ` [Caml-list] Bug in ocamlyacc Francois Pottier
2007-04-24 18:59     ` skaller
2007-04-24 19:59       ` Francois Pottier
2007-04-27 15:56     ` brogoff

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=Pine.LNX.4.58.0704241231220.19902@localhost \
    --to=martin.jambon@ens-lyon.org \
    --cc=caml-list@inria.fr \
    --cc=diego.fernandez_pons@etu.upmc.fr \
    --cc=skaller@users.sourceforge.net \
    /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;
as well as URLs for NNTP newsgroup(s).