yoriyuki / Camomile

A Unicode library for OCaml
Other
125 stars 26 forks source link

Which versions of OCaml should we support? #15

Closed foretspaisibles closed 6 years ago

foretspaisibles commented 8 years ago

Camomile started a long time ago and OCaml introduced a lot of new features since then, for instance aliasing modules or extension points. Here is the output

% opam switch
3.11.2  I 3.11.2  Official 3.11.2 release
3.12.1  I 3.12.1  Official 3.12.1 release
4.00.0  I 4.00.0  Official 4.00.0 release
--     -- 4.00.1  Official 4.00.1 release
--     -- 4.01.0  Official 4.01.0 release
--     -- 4.02.0  Official 4.02.0 release
--     -- 4.02.1  Official 4.02.1 release
--     -- 4.02.2  Official 4.02.2 release
4.02.3  C 4.02.3  Official 4.02.3 release
system  I system  System compiler (4.02.2)

on my system. Which versions do we want to support, i.e. which versions do you need?

rgrinberg commented 8 years ago

I would say that the minimum is supporting OCaml in ubuntu's LTS (which I think is 4.01).

What does CentOS have nowadays?

foretspaisibles commented 8 years ago

I think they have 4.02.3.

seliopou commented 8 years ago

This library looks pretty old, and seems like it went out of its way to support Windows. While it's tempting to support the latest and greatest and throw out everything else, it'd be a service to the community—much of which is not vocal about recent OCaml developments—to try and maintain as much as possible support for existing compiler versions and platforms.

foretspaisibles commented 8 years ago

While I generally agree with the principle, supporting many versions and platforms is also a problem of manpower and resources availability. I work with Mac OS-X, FreeBSD and CentOS on a daily basis, but I have no windows machine to test – and furthermore I am not sure how windows users work with OCaml (cygwin, mingw32 or Visual Studio, or something else?)

xogium commented 7 years ago

I know this issue is getting old, but it appeares that since a recent version of ocaml or orcaml findlib (I'm not sure which), camomile will fail to build. By recent I mean that I am on archlinux and we sort of always have the latest released stuff. I quite need it in fact, because this means I cannot upgrade my liquidsoap software anymore. Here is the build log:

http://ix.io/yIO

ocaml --version

The OCaml toplevel, version 4.05.0

pacman -Q ocaml-findlib
ocaml-findlib 1.7.3-1

Hope this helps.

xogium commented 7 years ago

If I downgrade ocaml and camlp4 to their previous version which is 4.04 it works fine for compiling camomile.

rgrinberg commented 7 years ago

IMO it should be 4.02.3. It's plenty old and it's the minimum version that jbuilder supports. It's also the blessed version used by bucklescript, and while bucklescript users won't find this library useful, 4.02.3 has this blessed position that guarantees its longevity.

@yoriyuki @michipili @seliopou what do you think?

seliopou commented 7 years ago

At this point, unless there's Big Client Library that uses Camomile as a dependency and it has a known user or two that absolutely require anything less, we should just set the cutoff to be 4.02.3. I sort of consider it, as of now, the LTS of OCaml.

yoriyuki commented 7 years ago

I accidentally put the code only works >= 4.03 (use String.lowercase_ascii) What should we do?

In my opinion, we need to support only the most recent OCaml, otherwise the development is too complicated. The people using old OCaml can stick older version or revision.

By the way, @xogium Do you still have a problem on OCaml 4.05?

xogium commented 7 years ago

Hi, nop, seems the issue went away. Might be related in some way to the maintainer of the package doing something to make it build against that specific version of ocaml doable... In any case if that issue comes back I will post here or create another issue if that one's closed by that time. Thanks :)

rgrinberg commented 6 years ago

Closing this issue since it seems like we received a consensus. We can revisit this issue again once we bump major versions.