summaryrefslogtreecommitdiff
path: root/Changes
diff options
context:
space:
mode:
Diffstat (limited to 'Changes')
-rw-r--r--Changes51
1 files changed, 39 insertions, 12 deletions
diff --git a/Changes b/Changes
index 06aaf54e05..27905bf150 100644
--- a/Changes
+++ b/Changes
@@ -12,43 +12,70 @@ Language features:
Using the -principal option guarantees forward compatibility.
- New (module M) and (module M : S) syntax in patterns, for immediate
unpacking of a first-class module.
-- New syntax "let.e0 p = e1 in e2" where e0 is a simple expression,
- expanded to "e0 e1 (fun p -> e2).
Compilers:
- Revised simplification of let-alias (PR#5205, PR#5288)
- Better reporting of compiler version mismatch in .cmi files
-- Warning 28 is now enabled by default.
+* Warning 28 is now enabled by default.
- New option -absname to use absolute paths in error messages
Native-code compiler:
- Optimized handling of partially-applied functions (PR#5287)
+- Small improvements in code generated for array bounds checks (PR#5345,
+ PR#5360).
Standard library:
- Added float functions "hypot" and "copysign" (PR#3806, PR#4752, PR#5246)
-- Hashtbl:
+* Arg: options with empty doc strings are no longer included in the usage string
+ (PR#5437)
+- Array: faster implementations of "blit", "copy", "sub", "append" and "concat"
+ (PR#2395, PR#2787, PR#4591)
+* Hashtbl:
. Statistically-better generic hash function based on Murmur 3 (PR#5225)
. Fixed behavior of generic hash function w.r.t. -0.0 and NaN (PR#5222)
. Added optional "seed" parameter to Hashtbl.create for diversification
. Added new functorial interface "MakeSeeded" to support diversification
with user-provided hash functions.
+- Scanf: new function "unescaped" (PR#3888)
+- Set and Map: more efficient implementation of "filter" and "partition"
+- String: new function "map" (PR#3888)
Bug Fixes:
-- PR#5416: (Windows) Unix.(set|clear)_close_on_exec now preserves blocking mode
-- PR#5343: ocaml -rectypes is unsound wrt module subtyping
+* PR#4549: Filename.dirname is not handling multiple / on Unix
+- PR#4869: rare collisions between assembly labels for code and data
+- PR#4880: "assert" constructs now show up in the exception stack backtrace
+- PR#5313: ocamlopt -g misses optimizations
- PR#5322: type abbreviations expanding to a universal type variable
+- PR#5325: (Windows) blocked Unix.recv in one thread blocks Unix.send in
+ another thread
+- PR#5327: (Windows) Unix.select blocks if same socket listed in first and third arguments
- PR#5330: thread tag with '.top' and '.inferred.mli' targets
-- PR#4880: "assert" constructs now show up in the exception stack backtrace
-- PR#4869: rare collisions between assembly labels for code and data
+- PR#5343: ocaml -rectypes is unsound wrt module subtyping
+- PR#5416: (Windows) Unix.(set|clear)_close_on_exec now preserves blocking mode
+- PR#5436: update object ids on unmarshaling
+- PR#5453: configure doesn't find X11 under Ubuntu/MultiarchSpec
+- PR#5469: private record type generated by functor loses abbreviation
+- PR#5476: bug in native code compilation of let rec on float arrays
+- PR#4688: (Windows) special floating-point values aren't converted to strings correctly
+- emacs mode: colorization of comments and strings now works correctly
+- PR5475: Wrapper script for interpreted LablTk wrongly handles command line parameters
+- PR5461: Double linking of bytecode modules
Feature wishes:
-- PR#5358: first class modules don't allow "with type" declarations for types in sub-modules
+- PR#352: new option "-stdin" to make ocaml read stdin as a script
+- PR#5329: (Windows) more efficient Unix.select if all fd's are sockets
+- PR#5358: first class modules don't allow "with type" declarations for types
+ in sub-modules
- PR#5411: new directive for the toplevel: #load_rec
- PR#5420: Unix.openfile share mode (Windows)
+- PR#5454: Digest.compare is missing and md5 doc update
+- PR#5467: no extern "C" into ocaml C-stub headers
+- PR#5478: ocamlopt assumes ar command exists
+- PR5479: Num.num_of_string may raise an exception, not reflected in the documentation.
Shedding weight:
-- Removed the obsolete native-code generators for Alpha, HPPA, IA64 and MIPS.
-- The "DBM" library (interface with Unix DBM key-value stores) is no
+* Removed the obsolete native-code generators for Alpha, HPPA, IA64 and MIPS.
+* The "DBM" library (interface with Unix DBM key-value stores) is no
longer part of this distribution. It now lives its own life at
https://forge.ocamlcore.org/projects/camldbm/
@@ -228,7 +255,7 @@ Compilers and toplevel:
caused by the incomplete comparison of applicative paths F(X).t.
Native-code compiler:
-- AMD64: shorter and slightly more efficient code generated for
+- AMD64: shorter and slightly more efficient code generated for
float comparisons.
Standard library: