diff options
Diffstat (limited to 'Changes')
-rw-r--r-- | Changes | 51 |
1 files changed, 39 insertions, 12 deletions
@@ -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: |