The set of new features for the future version 4.12.0 of OCaml has been frozen,
maybe a little earlier than expected.
In this new version of OCaml, the gap between the mainline and multicore runtime
has been considerably narrowed.
Moreover, this new version comes with a port to the newly launched macOs/ARM architecture.
We are thus planning to have a shorter release cycle this time around to get
this new version out the door as soon as sensible — which probably translates
to the beginning of January.
I am thus happy to announce the first alpha release for OCaml 4.12.0 .
This alpha version is here to help fellow hackers join us early in our bug
hunting and opam ecosystem fixing fun. You can see the progress on this front at:
Once the major tools are supported, we will switch to beta releases.
And since changes are more fun when they come in pair, we are also testing
a new layout for the opam compiler packages.
The base compiler can now be installed as an opam switch with the following commands
opam update
opam switch create 4.12.0~alpha1 --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git
If you want to tweak the configuration of the compiler, the new layout offers
much finer-grained options. The new command looks like this:
opam update
opam switch create <switch_name> --packages=ocaml-variants.4.12.0~alpha1+options,<option_list> --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git
where <option_list> is a comma separated list of ocaml-option-* packages. For instance, for a flambda and no-flat-float-array switch:
opam switch create 4.12.0~alpha1+flambda+nffa --packages=ocaml-variants.4.12.0~alpha1+options,ocaml-option-flambda,ocaml-option-no-flat-float-array --repositories=default,beta=git+https://github.com/ocaml/ocaml-beta-repository.git
All available options can be listed with opam search ocaml-option
.
If you want to test this version, it is advised to install the alpha opam repository
with
opam repo add alpha git://github.com/kit-ty-kate/opam-alpha-repository.git
This alpha repository contains various fixes in the process of being upstreamed.
The source code for the alpha is also available at these addresses:
https://github.com/ocaml/ocaml/archive/4.12.0-alpha1.tar.gz
https://caml.inria.fr/pub/distrib/ocaml-4.12/ocaml-4.12.0~alpha1.tar.gz
If you find any bugs, please report them here:
https://github.com/ocaml/ocaml/issues
If you are interested by the ongoing list of new features and fixed bugs, the
updated change log for OCaml 4.12.0 is available at: