caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Florian Angeletti <>
To: caml-list <>
Subject: [Caml-list] OCaml 4.13.0, second alpha release
Date: Mon, 19 Jul 2021 10:08:01 +0200 (CEST)	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <>

[-- Attachment #1: Type: text/plain, Size: 4720 bytes --]

Dear OCaml users, 

The release of OCaml 4.13.0 is approaching. We have released a second alpha 
version to help fellow hackers join us early in our bug hunting and 
opam ecosystem fixing fun (see below for the installation instructions). 
You can see the progress on this front at . 

Beyond the usual bug fixes (see the full list below), this second alpha integrates a new feature for native 
generated code: poll points. Those poll points currently fixes some issues with signals in non-allocating loops 
in native code. More importantly, they are a prerequisite for the multicore runtime. 

Another change is the removal of the removal of interbranch propagation of type information. 
The feature, already postponed from 4.12, has been removed to focus for now on better error 
message in the `-principal` mode. 

If you find any bugs, please report them here: 

The first beta release may follow soon since the opam ecosystem is in quite good shape; 
and we are on track for a full release in September. 

Happy hacking, 
Florian Angeletti for the OCaml team. 

Installation instructions 
The base compiler can be installed as an opam switch with the following commands 

opam update 
opam switch create 4.13.0~alpha2 --repositories=default,beta=git+ 

If you want to tweak the configuration of the compiler, you can switch to the option variant with: 

opam update 
opam switch create <switch_name> --packages=ocaml-variants.4.13.0~alpha2+options,<option_list> --repositories=default,beta=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.13.0~alpha2+flambda+nffa --packages=ocaml-variants.4.13.0~alpha2+options,ocaml-option-flambda,ocaml-option-no-flat-float-array --repositories=default,beta=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 


opam repo add alpha 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: 

Changes since the first alpha release 

New feature: 

- #10039: Safepoints 
Add poll points to native generated code. These are effectively 
zero-sized allocations and fix some signal and remembered set 
issues. Also multicore prerequisite. 
(Sadiq Jaffer, Stephen Dolan, Damien Doligez, Xavier Leroy, 
Anmol Sahoo, Mark Shinwell, review by Damien Doligez, Xavier Leroy, 
and Mark Shinwell) 

New bug fixes: 

- #10449: Fix major GC work accounting (the GC was running too fast). 
(Damien Doligez, report by Stephen Dolan, review by Nicolás Ojeda Bär and 
Sadiq Jaffer) 

- #10454: Check row_more in nondep_type_rec. 
(Leo White, review by Thomas Refis) 

- #10468: Correctly pretty print local type substitution, e.g. type t := ..., 
with -dsource 
(Matt Else, review by Florian Angeletti) 

- #10461, #10498: `caml_send*` helper functions take derived pointers 
as arguments. Those must be declared with type Addr instead of Val. 
Moreover, poll point insertion must be disabled for `caml_send*`, 
otherwise the derived pointer is live across a poll point. 
(Vincent Laviron and Xavier Leroy, review by Xavier Leroy and Sadiq Jaffer) 

- #10478: Fix segfault under Windows due to a mistaken initialization of thread 
ID when a thread starts. 
(David Allsopp, Nicolás Ojeda Bär, review by Xavier Leroy) 

Removed feature: 

* #9811: remove propagation from previous branches 
Type information inferred from previous branches was propagated in 
non-principal mode. Revert this for better compatibility with 
-principal mode. 
For the time being, infringing code should result in a principality warning. 
(Jacques Garrigue, review by Thomas Refis and Gabriel Scherer) 

The up-to-date list of changes for OCaml 4.13 is available at . 

[-- Attachment #2: Type: text/html, Size: 5234 bytes --]

  reply	other threads:[~2021-07-19  8:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-04 18:34 [Caml-list] OCaml 4.13.0, first " Florian Angeletti
2021-07-19  8:08 ` Florian Angeletti [this message]
2021-08-25 18:16   ` [Caml-list] OCaml 4.13.0, first beta release Florian Angeletti
2021-09-10 13:05     ` [Caml-list] OCaml 4.13.0, first release candidate Florian Angeletti
2021-09-16  8:32       ` [Caml-list] OCaml 4.13.0, second " Florian Angeletti

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \

* 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).