summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Scherer <gabriel.scherer@gmail.com>2018-06-11 20:39:13 -0700
committerGabriel Scherer <gabriel.scherer@gmail.com>2018-06-11 20:39:13 -0700
commitebe33fac7fe3852f78328e5b7959faa6a7c1f9d6 (patch)
tree53b6a8c03cb88e02b04af6a012d3b869a6fd52ea
parent5a23af488928345e2a51b3def5f44e401504ca81 (diff)
downloadocaml-ebe33fac7fe3852f78328e5b7959faa6a7c1f9d6.tar.gz
polish 4.07 Changes
-rw-r--r--Changes187
1 files changed, 94 insertions, 93 deletions
diff --git a/Changes b/Changes
index cb979b4d89..c4726ebcf1 100644
--- a/Changes
+++ b/Changes
@@ -11,62 +11,15 @@ OCaml 4.07
- GPR#1546: Allow empty variants
(Runhang Li, review by Gabriel Radanne and Jacques Garrigue)
-### Type system:
-
-- MPR#7767, GPR#1712: restore legacy treatment of partially-applied
- labeled functions in 'let rec' bindings.
- (Jeremy Yallop, report by Ivan Gotovchits, review by Gabriel Scherer)
-
-- MPR#7611, GPR#1491: reject the use of generative functors as applicative
- (Valentin Gatien-Baron)
-
-- MPR#7706, GPR#1565: in recursive value declarations, track
- static size of locally-defined variables
- (Gabriel Scherer, review by Jeremy Yallop and Leo White, report by Leo White)
-
-- MPR#7717, GPR#1593: in recursive value declarations, don't treat
- unboxed constructor size as statically known
- (Jeremy Yallop, report by Pierre Chambart, review by Gabriel Scherer)
-
-- GPR#1469: Use the information from [@@immediate] annotations when
- computing whether a type can be [@@unboxed]
- (Damien Doligez, report by Stephan Muenzel, review by Alain Frisch)
-
-- GPR#1516: Allow float array construction in recursive bindings
- when configured with -no-flat-float-array
- (Jeremy Yallop, report by Gabriel Scherer)
-
-- GPR#1468: Do not enrich type_decls with incoherent manifests
- (Thomas Refis and Leo White, review by Jacques Garrigue)
-
-- GPR#1583: propagate refined ty_arg to Parmatch checks
- (Thomas Refis, review by Jacques Garrigue)
-
-- GPR#1513: Allow compilation units to shadow sub-modules of Pervasives.
- For instance users can now use a largeFile.ml file in their project.
- (Jérémie Dimino, review by Nicolas Ojeda Bar, Alain Frisch and Gabriel Radanne)
-
-- GPR#1609: Changes to ambivalence scope tracking
- (Thomas Refis and Leo White, review by Jacques Garrigue)
-
-- GPR#1628: Treat reraise and raise_notrace as nonexpansive.
- (Leo White, review by Alain Frisch)
-
-* GPR#1652, MPR#7787, GPR#1743: Don't remove module aliases in `module type of`
- and `with module`.
- The old behaviour can be obtained using the `[@remove_aliases]` attribute.
- (Leo White and Thomas Refis, review by Jacques Garrigue)
-
-* GPR#1778: Fix Soundness bug with non-generalized type variable and
- local modules. This is the same bug as MPR#7414, but using local
- modules instead of non-local ones.
- (Leo White, review by Jacques Garrigue)
-
### Standard library:
- MPR#4170, GPR#1674: add the constant `Float.pi`.
(Christophe Troestler, review by Damien Doligez)
+- MPR#6139, GPR#1685: Move the Bigarray module to the standard library. Keep the
+ bigarray library as on overlay adding the deprecated map_file functions
+ (Jérémie Dimino, review by Mark Shinwell)
+
- MPR#7690, GPR#1528: fix the float_of_string function for hexadecimal floats
with very large values of the exponent.
(Olivier Andrieu)
@@ -75,21 +28,26 @@ OCaml 4.07
Also add `{to,of}_seq` to several standard modules.
(Simon Cruanes, review by Alain Frisch and François Bobot)
-- GPR#1637: String.escaped is faster does and not allocate when called with a
+* GPR#1010: pack all standard library modules into a single module Stdlib
+ which is the default opened module (Stdlib itself includes Pervasives) to free
+ up the global namespace for other standard libraries, while still allowing any
+ OCaml standard library module to be referred to as Stdlib.Module). This is
+ implemented efficiently using module aliases (prefixing all modules with
+ Stdlib__, e.g. Stdlib__string).
+ (Jérémie Dimino, David Allsopp and Florian Angeletti, review by David Allsopp
+ and Gabriel Radanne)
+
+- GPR#1637: String.escaped is faster and does not allocate when called with a
string that does not contain any characters needing to be escaped.
(Alain Frisch, review by Xavier Leroy and Gabriel Scherer)
-- GPR#1638: add Float module.
+- GPR#1638: add a Float module.
(Nicolás Ojeda Bär, review by Alain Frisch and Jeremy Yallop)
- GPR#1697: Tune [List.init] tailrec threshold so that it does not stack overflow
when compiled with the Js_of_ocaml backend.
(Hugo Heuzard, reviewed by Gabriel Scherer)
-- MPR#6139, GPR#1685: Move the Bigarray module to the standard library. Keep the
- bigarray library as on overlay adding the deprecated map_file functions
- (Jérémie Dimino, review by Mark Shinwell)
-
### Other libraries:
- MPR#7745, GPR#1629: Graphics.open_graph displays the correct window title on
@@ -111,6 +69,7 @@ OCaml 4.07
- GPR#1533: (a) The implementation of Thread.yield for system thread
now uses nanosleep(1) for enabling better preemption.
(b) Thread.delay is now an alias for Unix.sleepf.
+ (Jacques-Henri Jourdan, review by Xavier Leroy and David Allsopp)
### Compiler user-interface and warnings:
@@ -197,6 +156,10 @@ OCaml 4.07
- GPR#1487: Treat negated float comparisons more directly
(Leo White, review by Xavier Leroy)
+- GPR#1573: emitcode: merge events after instructions reordering
+ (Thomas Refis and Leo White, with help from David Allsopp, review by Frédéric
+ Bour)
+
- GPR#1606: Simplify the semantics of Lambda.free_variables and Lambda.subst,
including some API changes in bytecomp/lambda.mli
(Pierre Chambart, review by Gabriel Scherer)
@@ -208,6 +171,17 @@ OCaml 4.07
* GPR#1617: Make string/bytes distinguishable in the bytecode.
(Hugo Heuzard, reviewed by Nicolás Ojeda Bär)
+- GPR#1627: Reduce cmx sizes by sharing variable names (Flambda only)
+ (Fuyong Quah, Leo White, review by Xavier Clerc)
+
+- GPR#1665: reduce the size of cmx files in classic mode by droping the
+ bodies of functions that will not be inlined
+ (Fuyong Quah, review by Leo White and Pierre Chambart)
+
+- GPR#1666: reduce the size of cmx files in classic mode by droping the
+ bodies of functions that cannot be reached from the module block
+ (Fuyong Quah, review by Leo White and Pierre Chambart)
+
- GPR#1686: Turn off by default flambda invariants checks.
(Pierre Chambart)
@@ -276,6 +250,10 @@ OCaml 4.07
cyclic dependencies
(Xavier Leroy, report by Mantis user baileyparker)
+- GPR#1537: boot/ocamldep is no longer included in the source distribution;
+ boot/ocamlc -depend can be used in its place.
+ (Nicolás Ojeda Bär, review by Xavier Leroy and Damien Doligez)
+
- GPR#1585: optimize output of "ocamllex -ml"
(Alain Frisch, review by Frédéric Bour and Gabriel Scherer)
@@ -283,10 +261,6 @@ OCaml 4.07
-no-breakpoint and -topdirs-path to ocamldebug
(Sébastien Hinderer, review by Damien Doligez)
-- GPR#1537: boot/ocamldep is no longer included in the source distribution;
- boot/ocamlc -depend can be used in its place.
- (Nicolás Ojeda Bär, review by Xavier Leroy and Damien Doligez)
-
- GPR#1695: add the -null-crc command-line option to ocamlobjinfo.
(Sébastien Hinderer, review by David Allsopp and Gabriel Scherer)
@@ -332,13 +306,64 @@ OCaml 4.07
- GPR#1765: manual, ellipsis in code examples
(Florian Angeletti, review and suggestion by Gabriel Scherer)
-- GPR#1779: integrate the Bigarray documentation into the main manual.
- (Perry E. Metzger, review by Florian Angeletti and Xavier Clerc)
-
- GPR#1767: change html manual to use relative font sizes
(Charles Chamberlain, review by Daniel Bünzli, Perry E. Metzger,
Josh Berdine, and Gabriel Scherer)
+- GPR#1779: integrate the Bigarray documentation into the main manual.
+ (Perry E. Metzger, review by Florian Angeletti and Xavier Clerc)
+
+### Type system:
+
+- MPR#7611, GPR#1491: reject the use of generative functors as applicative
+ (Valentin Gatien-Baron)
+
+- MPR#7706, GPR#1565: in recursive value declarations, track
+ static size of locally-defined variables
+ (Gabriel Scherer, review by Jeremy Yallop and Leo White, report by Leo White)
+
+- MPR#7717, GPR#1593: in recursive value declarations, don't treat
+ unboxed constructor size as statically known
+ (Jeremy Yallop, report by Pierre Chambart, review by Gabriel Scherer)
+
+- MPR#7767, GPR#1712: restore legacy treatment of partially-applied
+ labeled functions in 'let rec' bindings.
+ (Jeremy Yallop, report by Ivan Gotovchits, review by Gabriel Scherer)
+
+* MPR#7787, GPR#1652, GPR#1743: Don't remove module aliases in `module type of`
+ and `with module`.
+ The old behaviour can be obtained using the `[@remove_aliases]` attribute.
+ (Leo White and Thomas Refis, review by Jacques Garrigue)
+
+- GPR#1468: Do not enrich type_decls with incoherent manifests
+ (Thomas Refis and Leo White, review by Jacques Garrigue)
+
+- GPR#1469: Use the information from [@@immediate] annotations when
+ computing whether a type can be [@@unboxed]
+ (Damien Doligez, report by Stephan Muenzel, review by Alain Frisch)
+
+- GPR#1513: Allow compilation units to shadow sub-modules of Pervasives.
+ For instance users can now use a largeFile.ml file in their project.
+ (Jérémie Dimino, review by Nicolas Ojeda Bar, Alain Frisch and Gabriel Radanne)
+
+- GPR#1516: Allow float array construction in recursive bindings
+ when configured with -no-flat-float-array
+ (Jeremy Yallop, report by Gabriel Scherer)
+
+- GPR#1583: propagate refined ty_arg to Parmatch checks
+ (Thomas Refis, review by Jacques Garrigue)
+
+- GPR#1609: Changes to ambivalence scope tracking
+ (Thomas Refis and Leo White, review by Jacques Garrigue)
+
+- GPR#1628: Treat reraise and raise_notrace as nonexpansive.
+ (Leo White, review by Alain Frisch)
+
+* GPR#1778: Fix Soundness bug with non-generalized type variable and
+ local modules. This is the same bug as MPR#7414, but using local
+ modules instead of non-local ones.
+ (Leo White, review by Jacques Garrigue)
+
### Compiler distribution build system
- MPR#5219, GPR#1680: use 'install' instead of 'cp' in install scripts
@@ -381,10 +406,6 @@ OCaml 4.07
- GPR#1567: register all idents relevant for reraise
(Thomas Refis, review by Alain Frisch and Frédéric Bour)
-- GPR#1573: emitcode: merge events after instructions reordering
- (Thomas Refis and Leo White, with help from David Allsopp, review by Frédéric
- Bour)
-
- GPR#1586: testsuite: 'make promote' for ocamltest tests
(The new "-promote" option for ocamltest is experimental
and subject to change/removal).
@@ -396,9 +417,6 @@ OCaml 4.07
- GPR#1621: expect_test: make sure to not use the installed stdlib
(Jérémie Dimino, review by Thomas Refis)
-- GPR#1627: Reduce cmx sizes by sharing variable names (Flambda only)
- (Fuyong Quah, Leo White, review by Xavier Clerc)
-
- GPR#1646 : add ocamldoc test to ocamltest and
migrate ocamldoc tests to ocamltest
(Florian Angeletti, review by Sébastien Hinderer)
@@ -406,14 +424,6 @@ OCaml 4.07
- GPR#1663: refactor flambda specialise/inlining handling
(Leo White and Xavier Clerc, review by Pierre Chambart)
-- GPR#1665: reduce the size of cmx files in classic mode by droping the
- bodies of functions that will not be inlined
- (Fuyong Quah, review by Leo White and Pierre Chambart)
-
-- GPR#1666: reduce the size of cmx files in classic mode by droping the
- bodies of functions that cannot be reached from the module block
- (Fuyong Quah, review by Leo White and Pierre Chambart)
-
- GPR#1679 : remove Pbittest from primitives in lambda
(Hugo Heuzard, review by Mark Shinwell)
@@ -498,6 +508,11 @@ OCaml 4.07
ignored when used on streams based on input channels.
(Nicolás Ojeda Bär, report by Michael Perin, review by Gabriel Scherer)
+- MPR#7793, GPR#1766: the toplevel #use directive now accepts sequences of ';;'
+ tokens. This fixes a bug in which certain files accepted by the compiler were
+ rejected by ocamldep.
+ (Nicolás Ojeda Bär, report by Hugo Heuzard, review by Hugo Heuzard)
+
- GPR#1517: More robust handling of type variables in mcomp
(Leo White and Thomas Refis, review by Jacques Garrigue)
@@ -539,11 +554,6 @@ OCaml 4.07
if available
(Xavier Leroy, review by Max Mouratov)
-- MPR#7793, GPR#1766: the toplevel #use directive now accepts sequences of ';;'
- tokens. This fixes a bug in which certain files accepted by the compiler were
- rejected by ocamldep.
- (Nicolás Ojeda Bär, report by Hugo Heuzard, review by Hugo Heuzard)
-
- GPR#1774: ocamlopt for ARM could generate VFP loads and stores with bad
offsets, rejected by the assembler.
(Xavier Leroy, review by Mark Shinwell)
@@ -1555,15 +1565,6 @@ OCaml 4.05.0 (13 Jul 2017):
(François Bobot, review by Gabriel Scherer, Xavier Leroy, Damien Doligez,
Frédéric Bour)
-* GPR#1010: pack all standard library modules into a single module Stdlib
- which is the default opened module (Stdlib itself includes Pervasives) to free
- up the global namespace for other standard libraries, while still allowing any
- OCaml standard library module to be referred to as Stdlib.Module). This is
- implemented efficiently using module aliases (prefixing all modules with
- Stdlib__, e.g. Stdlib__string).
- (Jérémie Dimino, David Allsopp and Florian Angeletti, review by David Allsopp
- and Gabriel Radanne)
-
### Manual and documentation:
- MPR#6597, GPR#1030: add forward references to language extensions