From: Alain Frisch <alain.frisch@lexifi.com>
To: "Daniel Bünzli" <daniel.buenzli@erratique.ch>,
"Gabriel Scherer" <gabriel.scherer@gmail.com>
Cc: Damien Doligez <damien.doligez@inria.fr>,
caml users <caml-list@inria.fr>
Subject: Re: [Caml-list] About contributions to the Standard Library
Date: Fri, 8 Jul 2016 16:01:02 +0200 [thread overview]
Message-ID: <3004f713-9b54-b221-16c3-f4302abc1a44@lexifi.com> (raw)
In-Reply-To: <7BDA5C9D56314AE6A0D9E07226862399@erratique.ch>
On 07/07/2016 12:26, Daniel Bünzli wrote:
> The goal behind this move would not be to change the stdlib conservativeness and minimalistic approach but make it possible to use improvement made to stdlib in older OCaml versions.
The stdlib is somehow mechanically tied to the evolution of the runtime
system (new primitives being exposed) and the compiler (in particular
for the camlinternalXXX modules). There would necessarily be a new
version of the stdlib to be shipped together with a new version of the
system. If we stick to our new plan of making much more frequent
releases, there would probably be no need for intermediate releases of
the stdlib between versions of OCaml. So the question is really whether
"the" stdlib shipped with OCaml version N should work with OCaml version
M < N.
Supporting in a single stdlib code base the current version of OCaml
(compiler+runtime system) and older ones would be as difficult as what
you describe in your point 1. And we would have the same dilemma about
waiting to use new features or not. (Even with the core team
conservatism, the stdlib is not so slow at adopting new language
features. E.g. GADTS for formatters, which is exposed in the interface,
or the internal use of inline records for performance reasons.) It
would be somehow a shame if the stdlib were the last one to benefit from
language improvements (at least in its implementation, but also in its
interface for new features).
Considering that progressing on the stdlib is already quite hard, adding
such extra constraints and work seems a good way to ensure it remains
completely stalled. And who would decide until which version one should
maintain support?
Now, nothing prevent people from backporting some chosen parts and
distribute e.g. a "stdlib 4.04 for OCaml 4.01", indeed outside the core
distribution. This might not be a complete coverage, but it could
provides some new goodies (e.g. String.split?) to people stuck with
older versions of OCaml. This could certainly be done by motivated
contributors outside the core team. In this context, I'm not so sure
about stubbing recent runtime features with failing implementations (if
a project depends on Ephemerons, it's unlikely to work with a failing
version of their API).
> Finally I would just like to say that the current situation also has
its pluses as it encourages people to upgrade and hence follow the
general evolution the system.
Good point. I've to say that I'm always a bit puzzled by the amount of
energy hobbyists put into supporting old versions of OCaml (compared to
e.g. ensuring continuously that their packages are ready for the next
one). Some industrial (or big academic) users being stuck with older
versions of OCaml (but many aren't) for good or bad reasons, but the
same ones are not likely to require the latest versions of third-party
libraries anyway, so this should not even be an incentive for library
authors to maintain such compatibility.
Could you share the reasons for you to target 4.01 (and not, say 3.04)
today?
Alain
next prev parent reply other threads:[~2016-07-08 14:01 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-21 11:56 Damien Doligez
2016-06-21 15:48 ` Gabriel Scherer
2016-06-21 15:54 ` [Caml-list] About "precise (formal) things that can be said about properties of certain interfaces" David MENTRE
2016-06-21 19:11 ` Gabriel Scherer
2016-06-21 20:06 ` Jesper Louis Andersen
2016-06-22 15:33 ` [Caml-list] About contributions to the Standard Library Junsong Li
2016-06-22 21:31 ` Alain Frisch
2016-07-07 10:26 ` Daniel Bünzli
2016-07-08 14:01 ` Alain Frisch [this message]
2016-07-08 14:37 ` Daniel Bünzli
2016-07-11 8:55 ` Goswin von Brederlow
2016-07-11 9:43 ` Daniel Bünzli
2016-07-11 9:48 ` Adrien Nader
2016-07-11 10:28 ` Daniel Bünzli
2016-07-11 18:34 ` Adrien Nader
2016-07-11 20:36 ` Daniel Bünzli
2016-07-11 9:49 ` Goswin von Brederlow
2016-07-12 18:32 ` Ian Zimmerman
2016-07-12 19:01 ` Gabriel Scherer
2016-07-12 21:26 ` Ian Zimmerman
2016-07-12 22:35 ` Gabriel Scherer
2016-07-12 23:20 ` Ian Zimmerman
2016-06-27 9:09 ` Goswin von Brederlow
2016-06-27 11:19 ` Gerd Stolpmann
2016-06-27 13:21 ` Gabriel Scherer
2016-06-30 11:08 ` Goswin von Brederlow
2016-06-30 15:52 ` Gabriel Scherer
2016-06-30 10:59 ` Goswin von Brederlow
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=3004f713-9b54-b221-16c3-f4302abc1a44@lexifi.com \
--to=alain.frisch@lexifi.com \
--cc=caml-list@inria.fr \
--cc=damien.doligez@inria.fr \
--cc=daniel.buenzli@erratique.ch \
--cc=gabriel.scherer@gmail.com \
/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