OCaml 4.11, release plan

The new version of OCaml, OCaml 4.11.0, has started its bugfix period: the set of new features is now mostly frozen, and in the three upcoming months, we will focus mostly on fixing bugs.

For this release cycle, we will experiment releasing an alpha version of the compiler.

This new alpha version is expected to work as a synchronization point for people working on updating the opam ecosystem for the new release. Once the opam ecosystem is in shape for some wider audience testings, we will publish a beta version as usual. This should be happen around June.

One of the most notable change in this release is Statmemprof, a new statistical memory profiler directly integrated into the GC.

The provisional Changes list is here.

At this point of time, it is better to take this list with a grain of salt: there are a handful of new features that are still under integration, problematic features might be removed, and of course the list of bug fixes is incomplete.

But one of the most notable feature in this change log, Statmemprof which a new statistical memory profiler API, is most probably here to stay.

17 Likes

It should be mentioned that Memprof is documented as “EXPERIMENTAL”, and at least one breaking change is being considered in 4.12. This also mean that suggestion for improvement will be welcome (AFAIU).

1 Like

I have a couple of (truly minor) pretty-printing patches that I’m in the process of submitting thru the PR process. Um, I’m basing them on “trunk”, but maybe I should be basing them on some other branch (so that they’ll be most-easy to merge?) Would it be preferable for me to use a different branch?

As far as my experience goes, if the problem still exists in trunk, just do trunk. Compiler devs are then kind enough to cherry-pick to other branches if they deem it necessary.

1 Like

Can you elaborate a little bit more on what are the kind of bugs and what are their root causes?
Pls. consider that I’m unaware of all the programming work that is being done for delivering a new version of the Ocaml compiler.
As I’m eager to know much more about the Ocaml compiler, can you give me/us some pointers to the first documents/papers/files that I/we should read to start to understand the OCaml compiler internals and how people collaborate around it (is it just fixing declared issues, or is there an elaborated design process with formal requirements, is there a steering committee, etc.)?

btw, can you give us an overview about possible OCaml major features that has been discussed in the past such as typed effects, modular implicits and others?
Also, is metaOCaml planned to be incorporated in a future Ocaml distribution instead of being a set of patches (currently still to the OCaml 4.07.1 distribution)?

Thanks.

You should have a look at the 4.11 Changes file that @octachron referred to in his post. It contains an entry for each notable change to the compiler implementation (for each version), including a “Bug fixes” section.

Your general questions (how development of the compiler is organized, and status reports for experimental features or design proposals) are outside the scope of the present thread, so I would prefer to not discuss them here to keep the thread focused on discussing the specifics of the 4.11 release. (They are not so easy to answer because there are no good pointers to refer to, so handling each of those is actually a fair bit of work.)

I’ve read Changes before asking but, without prioir experience of the OCaml compiler, it requires a lot of time to get a clear and complete understanding, hence my question.

I agree. And I created a dedicated topic: OCaml compiler design and development .
Thanks.