summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Angeletti <florian.angeletti@inria.fr>2022-03-28 11:04:59 +0200
committerFlorian Angeletti <florian.angeletti@inria.fr>2022-03-28 11:35:22 +0200
commit80b20ed92ca2b8bb02d9e45925ab7c85917832bc (patch)
treeb795004e9a88a048d9173820361ef97068166ff5
parentfea7946d27acfc25e6e4ea4a937421de983c0f4f (diff)
downloadocaml-80b20ed92ca2b8bb02d9e45925ab7c85917832bc.tar.gz
Changes: split highlights
-rw-r--r--Changes111
1 files changed, 62 insertions, 49 deletions
diff --git a/Changes b/Changes
index 8c1a791145..a194c6e1fc 100644
--- a/Changes
+++ b/Changes
@@ -1,35 +1,84 @@
OCaml 4.14.0
----------------
-### Language features:
-
-- #10462: Add attribute to produce a compiler error for polls.
- (Sadiq Jaffer, review by Mark Shinwell, Stephen Dolan
- and Guillaume Munch-Maccagnoni)
+### Language features (highlights):
- #10437: Allow explicit binders for type variables.
(Stephen Dolan, review by Leo White)
-- #10441: Remove unnecessary parentheses surrounding immediate objects.
- Allow 'object ... end # f', 'f object ... end', etc.
- (Yan Dong, review by Nicolás Ojeda Bär, Florian Angeletti and Gabriel Scherer)
-
- #181, #9760, #10740: opt-in tail-modulo-cons (TMC) transformation
let[@tail_mod_cons] rec map f li = ...
(Frédéric Bour, Gabriel Scherer, Basile Clément,
review by Basile Clément and Pierre Chambart,
tested by Konstantin Romanov)
+### Runtime system (highlights):
+
+- #10195, #10680: Speed up GC by prefetching during marking
+ (Stephen Dolan, review by Xavier Leroy, Guillaume Munch-Maccagnoni,
+ Jacques-Henri Jourdan, Damien Doligez and Leo White)
+
+### Code generation and optimizations (highlights):
+
+- #10595: Tail calls with up to 64 arguments are guaranteed to be compiled
+ as tail calls. To this end, memory locations in the domain state
+ are used for passing arguments that do not fit in registers.
+ (Xavier Leroy, review by Vincent Laviron)
+
+### Standard library (highlights):
+
+* #10710: Add UTF tools, codecs and validations to the Uchar, Bytes and
+ String modules.
+ (Daniel Bünzli, review by Florian Angeletti, Nicolás Ojeda Bär, Alain
+ Frisch and Gabriel Scherer)
+
+* #10482: mark the Stream and Genlex modules as deprecated, in preparation
+ for a future removal. These modules (without deprecation alert)
+ are now provided by the camlp-streams library.
+ (Xavier Leroy, review by Nicolás Ojeda Bär)
+
+- #10545: Add In_channel and Out_channel modules.
+ (Nicolás Ojeda Bär, review by Daniel Bünzli, Simon Cruanes, Gabriel Scherer,
+ Guillaume Munch-Maccagnoni, Alain Frisch and Xavier Leroy)
+
+### Compiler user-interface and warnings (highlights)
+
+- #10328, #10780: Give more precise error when disambiguation could not
+ possibly work.
+ (Leo White, review by Gabriel Scherer and Florian Angeletti)
+
+- #10361: Improve error messages for mismatched record and variant
+ definitions.
+ (Florian Angeletti, review by Gabriel Radanne and Gabriel Scherer)
+
+- #10407: Produce more detailed error messages that contain full error traces
+ when module inclusion fails.
+ (Antal Spector-Zabusky, review by Florian Angeletti)
+
+### Internal/compiler-libs changes (highlights):
+
+- #10718, #11012: Add "Shape" information to the cmt files. Shapes are an
+ abstraction of modules that can be used by external tooling to perform
+ definition-aware operations.
+ (Ulysse Gérard, Thomas Refis and Leo White, review by Florian Angeletti)
+
+
+### Language features:
+
+- #10462: Add attribute to produce a compiler error for polls.
+ (Sadiq Jaffer, review by Mark Shinwell, Stephen Dolan
+ and Guillaume Munch-Maccagnoni)
+
+- #10441: Remove unnecessary parentheses surrounding immediate objects.
+ Allow 'object ... end # f', 'f object ... end', etc.
+ (Yan Dong, review by Nicolás Ojeda Bär, Florian Angeletti and Gabriel Scherer)
+
### Runtime system:
* #9391, #9424: Fix failed assertion in runtime due to ephemerons *set_* and
*blit_* function during Mark phase
(François Bobot, reported by Stephen Dolan, reviewed by Damien Doligez)
-- #10195, #10680: Speed up GC by prefetching during marking
- (Stephen Dolan, review by Xavier Leroy, Guillaume Munch-Maccagnoni,
- Jacques-Henri Jourdan, Damien Doligez and Leo White)
-
- #10549: Stack overflow detection and naked pointers checking for ARM64
(Xavier Leroy, review by Stephen Dolan)
@@ -57,11 +106,6 @@ OCaml 4.14.0
and long register allocation times.
(Xavier Leroy, report by Edwin Török, review by Nicolás Ojeda Bär)
-- #10595: Tail calls with up to 64 arguments are guaranteed to be compiled
- as tail calls. To this end, memory locations in the domain state
- are used for passing arguments that do not fit in registers.
- (Xavier Leroy, review by Vincent Laviron)
-
- #10681: Enforce boolean conditions for the native backend
(Vincent Laviron, review by Gabriel Scherer)
@@ -76,11 +120,6 @@ OCaml 4.14.0
### Standard library:
-* #10710: Add UTF tools, codecs and validations to the Uchar, Bytes and
- String modules.
- (Daniel Bünzli, review by Florian Angeletti, Nicolás Ojeda Bär, Alain
- Frisch and Gabriel Scherer)
-
* #10622: Annotate `Uchar.t` with immediate attribute
(Hongbo Zhang, reivew by Gabriel Scherer and Nicolás Ojeda Bär)
@@ -88,11 +127,6 @@ OCaml 4.14.0
is actually a suffix of `name` and raises Invalid_argument otherwise.
(Xavier Leroy, report by whitequark, review by David Allsopp)
-* #10482: mark the Stream and Genlex modules as deprecated, in preparation
- for a future removal. These modules (without deprecation alert)
- are now provided by the camlp-streams library.
- (Xavier Leroy, review by Nicolás Ojeda Bär)
-
- #10526: add Random.bits32, Random.bits64, Random.nativebits
(Xavier Leroy, review by Gabriel Scherer and François Bobot)
@@ -101,10 +135,6 @@ OCaml 4.14.0
by the functions from module Marshal)
(François Pottier, review by Gabriel Scherer and Kate Deplaix)
-- #10545: Add In_channel and Out_channel modules.
- (Nicolás Ojeda Bär, review by Daniel Bünzli, Simon Cruanes, Gabriel Scherer,
- Guillaume Munch-Maccagnoni, Alain Frisch and Xavier Leroy)
-
- #10538: add Out_channel.set_buffered and Out_channel.is_buffered to control
the buffering mode of output channels.
(Nicolás Ojeda Bär, review by John Whitington, Daniel Bünzli, David Allsopp
@@ -243,18 +273,6 @@ OCaml 4.14.0
### Compiler user-interface and warnings:
-- #10328, #10780: Give more precise error when disambiguation could not
- possibly work.
- (Leo White, review by Gabriel Scherer and Florian Angeletti)
-
-- #10361: Improve error messages for mismatched record and variant
- definitions.
- (Florian Angeletti, review by Gabriel Radanne and Gabriel Scherer)
-
-- #10407: Produce more detailed error messages that contain full error traces
- when module inclusion fails.
- (Antal Spector-Zabusky, review by Florian Angeletti)
-
- #10531: add naked_pointers to ocamlc -config exporting NAKED_POINTERS from
Makefile.config.
(Damien Doligez, review by Mark Shinwell and Gabriel Scherer)
@@ -378,11 +396,6 @@ OCaml 4.14.0
(David Allsopp and Nathan Rebours, review by Louis Gesbert,
Nicolás Ojeda Bär and Gabriel Scherer)
-- #10718, #11012: Add "Shape" information to the cmt files. Shapes are an
- abstraction of modules that can be used by external tooling to perform
- definition-aware operations.
- (Ulysse Gérard, Thomas Refis and Leo White, review by Florian Angeletti)
-
- #10742: strong call-by-need reduction for shapes
(Gabriel Scherer and Nathanaëlle Courant,
review by Florian Angeletti, Ulysse Gérard and Thomas Refis)