Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Caml-list] Camlp5 release 5.03

3 views
Skip to first unread message

Daniel de Rauglaudre

unread,
Nov 20, 2007, 4:52:57 AM11/20/07
to caml...@inria.fr
Hi everybody,

New release of Camlp5: 5.03

Main changes:
* Added commands mkcamlp5 and mkcamlp5.opt to build camlp5 executables.
* Some small improvements and bug fixes.

For changes of all versions, see file CHANGES in Camlp5 site.

Download the sources and the documentation at:
http://pauillac.inria.fr/~ddr/camlp5/

--
Daniel de Rauglaudre
http://pauillac.inria.fr/~ddr/

_______________________________________________
Caml-list mailing list. Subscription management:
http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list
Archives: http://caml.inria.fr
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners
Bug reports: http://caml.inria.fr/bin/caml-bugs

David Teller

unread,
Nov 20, 2007, 6:33:50 AM11/20/07
to Daniel de Rauglaudre, caml...@inria.fr
By quickly browsing the documentation, I haven't been able to understand
the core of the difference between camlp4 and camlp5. I mean, there's a
Pcaml module which seems to have disappared from camlp4 in 3.10, but I
assume that's not where it ends. Could you tell us a bit more about it ?

Thanks,
David

On Tue, 2007-11-20 at 10:52 +0100, Daniel de Rauglaudre wrote:
> Hi everybody,
>
> New release of Camlp5: 5.03
>
> Main changes:
> * Added commands mkcamlp5 and mkcamlp5.opt to build camlp5 executables.
> * Some small improvements and bug fixes.
>
> For changes of all versions, see file CHANGES in Camlp5 site.
>
> Download the sources and the documentation at:
> http://pauillac.inria.fr/~ddr/camlp5/
>

_______________________________________________

Daniel de Rauglaudre

unread,
Nov 20, 2007, 7:47:45 AM11/20/07
to caml...@inria.fr
Hi,

On Tue, Nov 20, 2007 at 12:33:12PM +0100, David Teller wrote:
> By quickly browsing the documentation, I haven't been able to understand
> the core of the difference between camlp4 and camlp5. I mean, there's a
> Pcaml module which seems to have disappared from camlp4 in 3.10, but I
> assume that's not where it ends. Could you tell us a bit more about it ?

Camlp5 is the continuation of the classical Camlp4.

At OCaml 3.10, Camlp4 was changed, with some incompatible features,
sometimes implying many changes in user programs. A solution is to
use Camlp5. Some softwares, e.g. "Coq", adopted this solution.

--
Daniel de Rauglaudre
http://pauillac.inria.fr/~ddr/

_______________________________________________

Richard Jones

unread,
Nov 21, 2007, 12:20:36 PM11/21/07
to David Teller, caml...@inria.fr
On Tue, Nov 20, 2007 at 12:33:12PM +0100, David Teller wrote:
> By quickly browsing the documentation, I haven't been able to understand
> the core of the difference between camlp4 and camlp5. I mean, there's a
> Pcaml module which seems to have disappared from camlp4 in 3.10, but I
> assume that's not where it ends. Could you tell us a bit more about it ?

Camlp4 was extensively changed for the 3.10 release, in many ways not
for the better (it's much bigger now for a start, and not backwards
compatible, and has almost no documentation, and I have problems with
it and findlib).

Camlp5 is the camlp4 from 3.09.3 (before the changes / fork), and with
some ongoing maintenance.

3.09 3.10
-------+----/\/----+---------> "new" camlp4 (distributed with OCaml)
|
\
--------------------> camlp5 (now distributed separately)

If you had a package which depends on camlp4 in 3.09.3, you need to
modify it so it compiles with OCaml 3.10. An alternative which
doesn't involve modifying your package is to install camlp5. You can
install both in parallel no problem.

Debian ships both. Fedora will soon as well.

Rich.

--
Richard Jones
Red Hat

Jon Harrop

unread,
Nov 21, 2007, 1:10:29 PM11/21/07
to caml...@yquem.inria.fr
On Wednesday 21 November 2007 17:19, Richard Jones wrote:
> Debian ships both. Fedora will soon as well.

So package maintainers are already forking the OCaml distribution into
separate parts?

--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/products/?e

Richard Jones

unread,
Nov 21, 2007, 2:10:41 PM11/21/07
to Jon Harrop, caml...@yquem.inria.fr
On Wed, Nov 21, 2007 at 06:01:08PM +0000, Jon Harrop wrote:
> On Wednesday 21 November 2007 17:19, Richard Jones wrote:
> > Debian ships both. Fedora will soon as well.
>
> So package maintainers are already forking the OCaml distribution into
> separate parts?

I guess it depends what you mean by "forking", but it's standard
practice, in all areas not just OCaml, for a single source package
(eg. ocaml-3.10.0.tar.gz) to generate many different binary packages
(eg. ocamlc, ocamlopt, ocamldoc, camlp4, labltk, etc.)

This means that you can install just the bits you need, and
furthermore that another package only needs to depend upon the parts
it actually uses -- this saves disk space & network bandwidth!

The camlp5 package installs in $OCAMLLIBDIR/camlp5 so it doesn't
conflict with camlp4 from the base OCaml package, with an appropriate
findlib META file. You need to make some adjustments to your Makefile
but those are usually very minor compared to rejigging your source to
be compatible with the new camlp4.

Rich.

--
Richard Jones
Red Hat

_______________________________________________

Pietro Abate

unread,
Nov 21, 2007, 2:13:54 PM11/21/07
to caml...@yquem.inria.fr
On Wed, Nov 21, 2007 at 06:01:08PM +0000, Jon Harrop wrote:
> On Wednesday 21 November 2007 17:19, Richard Jones wrote:
> > Debian ships both. Fedora will soon as well.
> So package maintainers are already forking the OCaml distribution into
> separate parts?

I don't think you can say they are "forking" the OCaml distribution.

Debian generates a number of packages from the inria tarball:
- ocaml-nox
- ocaml-libs
- ocaml-interp
- ocaml-base
- ocaml-base-nox
- camlp4
- camlp4-extra
- ...

and of top of these packages they are also shipping camlp5 from a
different source file that is independent from the ocaml inria
distribution.

I guess RH is doing something similar...

pietro
--
++
++ "All great truths begin as blasphemies." -George Bernard Shaw
++ Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html

Jon Harrop

unread,
Nov 21, 2007, 3:19:43 PM11/21/07
to Inria Ocaml Mailing List
On Wednesday 21 November 2007 19:10, Richard Jones wrote:
> I guess it depends what you mean by "forking", but it's standard
> practice, in all areas not just OCaml, for a single source package
> (eg. ocaml-3.10.0.tar.gz) to generate many different binary packages
> (eg. ocamlc, ocamlopt, ocamldoc, camlp4, labltk, etc.)

Ok.

> This means that you can install just the bits you need, and
> furthermore that another package only needs to depend upon the parts
> it actually uses -- this saves disk space & network bandwidth!

Right.

> The camlp5 package installs in $OCAMLLIBDIR/camlp5 so it doesn't
> conflict with camlp4 from the base OCaml package, with an appropriate
> findlib META file. You need to make some adjustments to your Makefile
> but those are usually very minor compared to rejigging your source to
> be compatible with the new camlp4.

For me, this begs the obvious question: can the distros split off the OCaml
stdlib into a separate package so the community can improve it and
Debian/Ubuntu/Red Hat/Mac OS X/.. users can benefit from an improved version?

--
Dr Jon D Harrop, Flying Frog Consultancy Ltd.
http://www.ffconsultancy.com/products/?e

_______________________________________________

Richard Jones

unread,
Nov 21, 2007, 4:13:03 PM11/21/07
to caml...@inria.fr
On Wed, Nov 21, 2007 at 08:10:13PM +0000, Jon Harrop wrote:
> On Wednesday 21 November 2007 19:10, Richard Jones wrote:
> > The camlp5 package installs in $OCAMLLIBDIR/camlp5 so it doesn't
> > conflict with camlp4 from the base OCaml package, with an appropriate
> > findlib META file. You need to make some adjustments to your Makefile
> > but those are usually very minor compared to rejigging your source to
> > be compatible with the new camlp4.
>
> For me, this begs the obvious question: can the distros split off the OCaml
> stdlib into a separate package so the community can improve it and
> Debian/Ubuntu/Red Hat/Mac OS X/.. users can benefit from an improved version?

They could do this but I'm not sure they would do this. There are a
few reasons I can think why Fedora wouldn't do it anyway:

(a) No program I know of can be compiled without stdlib, so splitting
compiler and stdlib is almost never a saving (from a pure packaging
point of view, ignoring, for now, possible enhancements).

(b) Fedora policy is not to diverge from upstream. For example we
don't carry any patches in our packages except where those patches are
about to go upstream. So making Fedora-specific enhancements to
OCaml's stdlib is against policy, and wouldn't be productive because
it would "lock in" to Fedora (in as much as open source can ever lock
you in).

http://fedoraproject.org/wiki/PackageMaintainers/WhyUpstream

(c) I tend to think that the Extlib project has been successful
enhancing OCaml's stdlib without intruding on the stdlib. Extlib
replaces stdlib modules and functions, but in a way which can be
carefully controlled and opted out from by the programmer.

http://ocaml-lib.sourceforge.net/

Rich.

--
Richard Jones
Red Hat

_______________________________________________

Stefano Zacchiroli

unread,
Nov 22, 2007, 4:37:43 AM11/22/07
to Inria Ocaml Mailing List
On Wed, Nov 21, 2007 at 05:19:48PM +0000, Richard Jones wrote:
> If you had a package which depends on camlp4 in 3.09.3, you need to
> modify it so it compiles with OCaml 3.10. An alternative which
> doesn't involve modifying your package is to install camlp5.

That's not true. Camlp5 had its normal evolution as a software project
and, as it happens to avoid hindering software evolution, has also
introduced non backward compatible changes. In several case it is simply
not a drop-in replacement for the camlp4 pre-3.10.

Still, the non backward compatible changes are (in my experience) well
documented by Daniel, and it's easier to forward port applications from
camlp4 pre-3.10 to camlp5 than to make the jump from camlp4 pre-3.10 to
camlp4 3.10.

Cheers.

--
Stefano Zacchiroli -*- PhD in Computer Science ............... now what?
zack@{cs.unibo.it,debian.org,bononia.it} -%- http://www.bononia.it/zack/
(15:56:48) Zack: e la demo dema ? /\ All one has to do is hit the
(15:57:15) Bac: no, la demo scema \/ right keys at the right time

Stefano Zacchiroli

unread,
Nov 22, 2007, 4:42:37 AM11/22/07
to Inria Ocaml Mailing List
On Wed, Nov 21, 2007 at 08:10:13PM +0000, Jon Harrop wrote:
> For me, this begs the obvious question: can the distros split off the OCaml
> stdlib into a separate package so the community can improve it and
> Debian/Ubuntu/Red Hat/Mac OS X/.. users can benefit from an improved version?

Yes, they can, but as a Debian OCaml maintainer I wouldn't do that. Part
of the reason is shared with Richard's. Patches applied by distributors
are of two kinds: distribution-specific, bug fixes/improvements. The
latter kind of patches are reasonable only if there is some hope to have
them integrated "upstream" (i.e. in the official OCaml distribution),
otherwise they are only additional work to be maintained in the future
and can create serious issues for our users. Since we know that OCaml
upstream does not welcome changes to the standard library we simply are
not encouraged to make changes there.

The only way to go IMO is extlib, which should strive to merge with
other extended standard libraries project, and hope to reach a big user
base to "negotiate" something with OCaml upstream.

Cheers.

--
Stefano Zacchiroli -*- PhD in Computer Science ............... now what?
zack@{cs.unibo.it,debian.org,bononia.it} -%- http://www.bononia.it/zack/
(15:56:48) Zack: e la demo dema ? /\ All one has to do is hit the
(15:57:15) Bac: no, la demo scema \/ right keys at the right time

_______________________________________________

0 new messages