What is with camlp5 and camlp4? Will camlp5 replace camlp4? Will it afterwards be renamed to camlp4? (This is, what I remember, but I'm not sure on it.)
When will there be a consistent new way to work with this tools?
Do I have to install more packages on Debian, to get this functionality without using symlinks?
I have installed the packages "camlp4", "camlp4-extra" and "camlp5".
Any idea on how to fix the problem (by using official administration tools)?
On 20-12-2008, Oliver Bandel <oli...@first.in-berlin.de> wrote:
> Hello,
> What is with camlp5 and camlp4? > Will camlp5 replace camlp4? > Will it afterwards be renamed to camlp4? > (This is, what I remember, but I'm not sure on it.)
> When will there be a consistent new way to work with this > tools?
> Any idea on how to fix the problem (by using official administration > tools)?
Well there is no problem in fact,
camlp4 is the tool shipped with ocaml distribution camlp5 is a separate tool compatible with camlp4 before ocaml 3.10.
These are 2 separate things, you are just following old tutorials (i.e. pre-3.10)
> On 20-12-2008, Oliver Bandel <oli...@first.in-berlin.de> wrote: > > Hello,
> > What is with camlp5 and camlp4? > > Will camlp5 replace camlp4? > > Will it afterwards be renamed to camlp4? > > (This is, what I remember, but I'm not sure on it.)
> > When will there be a consistent new way to work with this > > tools?
> > Any idea on how to fix the problem (by using official > administration > > tools)?
> Well there is no problem in fact,
> camlp4 is the tool shipped with ocaml distribution > camlp5 is a separate tool compatible with camlp4 before ocaml 3.10.
> These are 2 separate things, you are just following old tutorials > (i.e. > pre-3.10)
[...]
1) Where can I find the old tutorials? 2) what is camlp5 good for? Or: what is the difference between camlp4 and camlp5? 3) is it planned that camlp4 will be thrown out of the Ocaml-distribution?
> What is with camlp5 and camlp4? > Will camlp5 replace camlp4? > Will it afterwards be renamed to camlp4?
CamlP4 is the legacy/official one, integrated with OCaml. It changed significantly from OCaml 3.09 to 3.10. CamlP5 is no longer legacy, but descend from the line of development of CamlP4 pre-3.10.
> When will there be a consistent new way to work with this > tools?
There is one already: CamlP4 >= 3.10.
> Do I have to install more packages on Debian, > to get this functionality without using symlinks?
So, in essence, you don't have any specific problem with your installation, nor there is one with the Debian packages you are using. You just need to decide against which "flavor" of CamlP* you want to develop.
Cheers.
-- Stefano Zacchiroli -o- PhD in Computer Science \ PostDoc @ Univ. Paris 7 zack@{upsilon.cc,pps.jussieu.fr,debian.org} -<>- http://upsilon.cc/zack/ Dietro un grande uomo c'è ..| . |. Et ne m'en veux pas si je te tutoie sempre uno zaino ...........| ..: |.... Je dis tu à tous ceux que j'aime
> Zitat von Sylvain Le Gall <sylv...@le-gall.net>:
>> On 20-12-2008, Oliver Bandel <oli...@first.in-berlin.de> wrote: >> > Hello,
>> > What is with camlp5 and camlp4? >> > Will camlp5 replace camlp4? >> > Will it afterwards be renamed to camlp4? >> > (This is, what I remember, but I'm not sure on it.)
>> > When will there be a consistent new way to work with this >> > tools?
>> > Any idea on how to fix the problem (by using official >> administration >> > tools)?
>> Well there is no problem in fact,
>> camlp4 is the tool shipped with ocaml distribution >> camlp5 is a separate tool compatible with camlp4 before ocaml 3.10.
>> These are 2 separate things, you are just following old tutorials >> (i.e. >> pre-3.10) > [...]
Either I'm selectively blind, or providing this URL was another nice joke...
"Wanted: Reference Manual"... ..
"Without such a manual, it is not possible to translate any non-trivial syntax extension to Camlp4 3.10. It is not possible to write any tutorial either"
Yes, and without a good tutorial and reference manual, this all is bullshit.
I would urge to stop implementing any new features for OCaml, until there is a good documentation that explains all features that are already implemented. Adn a good documentation IMHO needs a reference manual as well as introductional texts like tutorials...
* The using Camlp4 page describes how to use the various Camlp4 executables. * The syntax extension tutorial is a must-see for the new Camlp4 user, as it explains how to create a basic syntax extension module. * The OCaml code generation tutorial provides information on how to generate OCaml code in Camlp4. * The full parser tutorial explains how to use Camlp4 as a complete parser for a given grammar. * pa_float, a simple OCaml extension showing how to locally transform the AST. You can check by yourself, or access the tutorials directly below:
> "Without such a manual, it is not possible to translate any non-trivial > syntax extension to Camlp4 3.10. It is not possible to write any > tutorial either"
> Yes, and without a good tutorial and reference manual, > this all is bullshit.
> I would urge to stop implementing any new features for OCaml, > until there is a good documentation that explains all features > that are already implemented. Adn a good documentation IMHO needs a > reference manual as well as introductional texts like tutorials...
I do agree. A student of mine and I wrote some of the tutorials mentioned myself after I learnt Camlp4 "the hard way", ie with no tutorials and the obsolete documentation of the previous version. But lack of time and motivation did not help me to write more documentation... I guess the same happened to Nicolas Pouillard, who is the developer of the current Camlp4. I will improve the Wiki when I have time, at the end of January.
In the meantime I wish you good luck, and hope the Wiki and tutorials will provide enough information.
On 12/20/08, Oliver Bandel <oli...@first.in-berlin.de> wrote:
> Yes, and without a good tutorial and reference manual, > this all is bullshit.
> I would urge to stop implementing any new features for OCaml, > until there is a good documentation that explains all features > that are already implemented. And a good documentation IMHO needs a > reference manual as well as introductional texts like tutorials...
I would urge you to write a good tutorial (and why not a reference manual) on the wiki. If you're still in the learning stage, I'd be more than happy to answer any question I can (I also learned (parts of) camlp4 the "hard way"), or provide you with code samples and/or pointers to relevant parts of the Camlp4 source code.
So many stuff, some up to date, some not, different distributions.... what a mess!
In case of OCaml I'm an advocate for the cathedral. OCaml is the only cathedral that I advocate.
But in the case of camlp4 it looks like the bazaar. The regularity of the cathedral, as harsh as crisp as OCaml's type system I miss in the case of Camlp4. :(
Better I have a closer look on camlp3l for today, there is an up-to-date documentation... ..so camlp4 again must wait for me to be explored...
On Sun, Dec 21, 2008 at 02:56:27PM +0100, Oliver Bandel wrote: > But in the case of camlp4 it looks like the bazaar. > The regularity of the cathedral, as harsh as crisp as > OCaml's type system I miss in the case of Camlp4. :(
OCaml 3.09 OCaml 3.10 OCaml 3.11 ..... + + + camlp4 -----+---> camlp4 was -----> camlp4 development --> "new" camlp4 \ rewritten continues \ \ \ not everyone agrees with the rewrite, so old camlp4 -----> camlp5 development continues as camlp5
All the distributions now ship OCaml, camlp4 and camlp5. This means you can continue to compile and use pre-3.10 software which relies on the old camlp4 (now called camlp5). Or you can use the new camlp4 which has some nice bits (like Reflective OCaml and the "scrap your boilerplate" stuff).
> On Sun, Dec 21, 2008 at 02:56:27PM +0100, Oliver Bandel wrote: > > But in the case of camlp4 it looks like the bazaar. > > The regularity of the cathedral, as harsh as crisp as > > OCaml's type system I miss in the case of Camlp4. :(
> OCaml 3.09 OCaml 3.10 OCaml 3.11 ..... > + + + > camlp4 -----+---> camlp4 was -----> camlp4 development --> "new" > camlp4 > \ rewritten continues > \ > \ > \ not everyone agrees with > the rewrite, so old camlp4 -----> camlp5 > development continues as > camlp5