On Mar 7, 2007, at 5:10 AM, Xavier Leroy wrote: > Hello, > > The long-awaited release 3.10 of Objective Caml is making good > progress and is now ready for beta-testing. A source-only > beta distribution can be downloaded from > > http://caml.inria.fr/pub/distrib/ocaml-3.10/ocaml-3.10.0 > +beta.tar.gz > > We would be grateful if some of you could compile it, give it a > good workout on your favorite Caml programs, and report any problems > you might encounter via the Caml bug tracker. > > The main novelties in 3.10 are: > > - A new tool: ocamlbuild, a compilation manager for OCaml projects. > - Much work on Camlp4, including a new API. > - A long-awaited feature: stack backtraces on uncaught exceptions > that work for native-code as well as for bytecode. > - Two new 64-bit ports: to Windows 64/AMD64 and MacOS X/PowerPC 64. > > Other changes are listed below. > > The documentation is not up to date yet, but some preliminary > documentation on ocamlbuild and the new Camlp4 can be found on > Nicolas Pouillard's Web page, http://gallium.inria.fr/~pouillar/ > > Enjoy, > > - Xavier Leroy, for the Caml development team > > ---------------------------------------------------------------------- > > Objective Caml 3.10.0: > ---------------------- > > (Changes that can break existing programs are marked with a "*" ) > > Language features: > - Added virtual instance variables in classes "val virtual v : t" > * Changed the behaviour of instance variable overriding; the new > definition replaces the old one, rather than creating a new > variable. > > New tools: > - ocamlbuild: compilation manager for OCaml applications and > libraries. > See draft documentation at http://gallium.inria.fr/~pouillar/ > * Camlp4: heavily revised implementation, new API. > > New ports: > - MacOS X PowerPC 64 bits. > - MS Windows 64 bits (x64) using the Microsoft PSDK toolchain. > - MS Windows 32 bits using the Visual Studio 2005 toolchain. > > Compilers: > - Faster type-checking of functor applications. > - Referencing an interface compiled with -rectypes from a module > not compiled with -rectypes is now an error. > - Revised the "fragile matching" warning. > > Native-code compiler: > - Print a stack backtrace on an uncaught exception. > (Compile and link with ocamlopt -g; execute with OCAMLRUNPARAM=b.) > Supported on Intel/AMD in 32 and 64 bits, PPC in 32 and 64 bits. > - Stack overflow detection on MS Windows 32 bits (courtesy O. > Andrieu). > - Stack overflow detection on MacOS X PPC and Intel. > - Intel/AMD 64 bits: generate position-independent code by default. > - Fixed bug involving -for-pack and missing .cmx files (PR#4124). > - Fixed bug causing duplication of literals (PR#4152). > > Run-time system: > - C/Caml interface functions take "char const *" arguments > instead of "char *" when appropriate. > - Faster string comparisons (fast case if strings are ==). > > Standard library: > - Refined typing of format strings (type format6). > - Printf, Format: new function ifprintf that consumes its arguments > and prints nothing (useful to print conditionally). > - Scanf: > new function format_from_string to convert a string to a format > string; > new %r conversion to accomodate user defined scanners. > - Filename: improved Win32 implementation of Filename.quote. > - List: List.nth now tail-recursive. > - Sys: added Sys.is_directory. Some functions (e.g. Sys.command) that > could incorrectly raise Sys_io_blocked now raise Sys_error as > intended. > > Other libraries: > - Bigarray: mmap_file takes an optional argument specifying > the start position of the data in the mapped file. > - Dynlink: now defines only two modules, Dynlink and Dynlinkaux > (internal), > reducing risks of name conflicts with user modules. > - Labltk under Win32: now uses Tcl/Tk 8.4 instead of 8.3 by default. > - VM threads: improved performance of I/O operations (less polling). > - Unix: new function Unix.isatty. > - Unix emulation under Win32: > fixed incorrect error reporting in several functions (PR#4097); > better handling of channels opened on sockets (PR#4098); > fixed GC bug in Unix.system (PR#4112). > > Documentation generator (OCamldoc): > - correctly handle '?' in value names (PR#4215) > - new option -hide-warnings not to print ocamldoc warnings > > Lexer generator (ocamllex): improved error reporting. > > License: fixed a typo in the "special exception" to the LGPL. > > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs