caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
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

  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;
as well as URLs for NNTP newsgroup(s).