[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: ocaml, jocaml, ocamlduce, *?caml



On Mon, Mar 03, 2008 at 07:25:47PM +0100, Pietro Abate wrote:
> with jocaml and ocamlduce making their way into ocaml, I'm wondering how

Uh, where is ocamlduce? I'm not aware of anyone working on it and I
can't see any related ITP.

> As jocaml and ocamlduce are from different upstreams we can't hope to
> have some magic binary compatibility and re-use the same ocaml
> libraries for all. In a perfect world, they would have binary
> compatibility and use only one version of each library, but in reality
> they are never going to be in sync, leave alone having binary
> compatility across different versions and flavours.

I can't help noticing that this problem is an inherent horrible aspect
of OCaml (sorry), binary compatibility is doomed to break every second.

> Depending on the interest, we might consider to compile three
> different falvours for each ocaml library. Of course this in theory a
> lot of space and duplication. Practically I don't think it would be a
> huge problem to create a package for each flavour.

That said the solution you are proposing is basically to fork at least
the binary part of all the OCaml libraries we have in Debian. A rough
estimate of how many packages we are talking about is the number of
packages which are currently waiting for OCaml to transition [1]. They
are 666 (the number of the beast: should tell us something by itself :-)
Take it times 3 and you get 2000 binary packages. To me this is a clear
"no go", we are not going to introduce 1300 new binary packages in the
archive for, how much? 50 users?

Things can be seen under a different perspective if in a future
jocaml/ocamlduce will score high in popcon, but I doubt it will ever be
the case.


If the choice were mine, I would say that we are not going to support,
in general, libraries for *caml variants which are not binary compatible
with OCaml at all (e.g. MetaOcaml). For the variants which have hopes to
be binary compatible with OCaml (e.g. [IIRC] jocaml, ocamlduce) we
should try to exploit binary compatibility as much as possible. That
would mean trying to forward port changes and/or cooperate with / push
upstreams to help us in this.

For example, I doubt it would have been hard to port ocamlduce from
3.10.1 to 3.10.2. For sure the port from 3.10.0 to 3.10.1 is harder, but
Alain (ocamlduce's upstream) has cared about binary compatibility with
OCaml 3.10.0 in the very first place. It is then much likely he is
interested in having binary compatibility with newer OCaml upstream
releases. Helping him out when needed is likely to be a much more
rewarding road than forking 600 binary packages.

Cheers.

[1] http://release.debian.org/migration/testing.pl?waiting=ocaml

-- 
Stefano Zacchiroli -*- PhD in Computer Science ............... now what?
zack@{upsilon.cc,cs.unibo.it,debian.org}  -<%>-  http://upsilon.cc/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

Attachment: signature.asc
Description: Digital signature


Reply to: