From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id PAA16632 for caml-redistribution; Wed, 9 Dec 1998 15:42:09 +0100 (MET) Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id OAA12456 for ; Wed, 9 Dec 1998 14:31:09 +0100 (MET) Received: from pauillac.inria.fr (pauillac.inria.fr [128.93.11.35]) by concorde.inria.fr (8.8.7/8.8.7) with ESMTP id OAA29028 for ; Wed, 9 Dec 1998 14:31:07 +0100 (MET) Received: (from xleroy@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id OAA17305; Wed, 9 Dec 1998 14:31:07 +0100 (MET) Message-ID: <19981209143107.63900@pauillac.inria.fr> Date: Wed, 9 Dec 1998 14:31:07 +0100 From: Xavier Leroy To: caml-list@inria.fr Subject: Objective Caml 2.01 released Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.89.1 Sender: weis Objective Caml 2.01 has just been released -- right in time for Christmas. This is a bug-fix release that corrects all known 2.00 bugs, and adds some convenience features (see below for a complete list of changes) as well as a couple of new ports (Linux/StrongARM, IRIX/-n32). It is available from the usual places: http://caml.inria.fr/ocaml/distrib.html ftp://ftp.inria.fr/lang/caml-light/ For general info on Objective Caml, see http://caml.inria.fr/ocaml/ Please direct queries and bug reports to caml-light@inria.fr and general discussions to the mailing-list caml-list@inria.fr or the comp.lang.ml newsgroup. - Xavier Leroy, for the Objective Caml team. Objective Caml 2.01: -------------------- * Typing: - Added warning for expressions of the form "a; b" where a does not have type "unit"; catches silly mistake such as "record.lbl = newval; ..." instead of "record.lbl <- newval; ...". - Typing bug in "let module" fixed. * Compilation: - Fixed bug in compilation of recursive and mutually recursive classes. - Option -w to turn specific warnings on/off. - Option -cc to choose the C compiler used with ocamlc -custom and ocamlopt. * Bytecode compiler and bytecode interpreter: - Intel x86: removed asm declaration causing "fixed or forbidden register spilled" error with egcs and gcc 2.8 (but not with gcc 2.7, go figure). - Revised handling of debugging information, allows faster linking with -g. * Native-code compiler: - Fixed bugs in integer constant propagation. - Out-of-bound accesses in array and strings now raise an Invalid_argument exception (like the bytecode system) instead of stopping the program. - Corrected scheduling of bound checks. - Port to the StrongARM under Linux (e.g. Corel Netwinder). - I386: fixed bug in profiled code (ocamlopt -p). - Mips: switched to -n32 model under IRIX; dropped the Ultrix port. - Sparc: simplified the addressing modes, allows for better scheduling. - Fixed calling convention bug for Pervasives.modf. * Toplevel: - #trace works again. - ocamlmktop: use matching ocamlc, not any ocamlc from the search path. * Memory management: - Fixed bug in heap expansion that could cause the GC to loop. * C interface: - New macros CAMLparam... and CAMLlocal... to simplify the handling of local roots in C code. - Simplified procedure for allocating and filling Caml blocks from C. - Declaration of string_length in . * Standard library: - Module Format: added {get,set}_all_formatter_output_functions, formatter_of_out_channel, and the control sequence @ in printf. - Module List: added mem_assoc, mem_assq, remove, removeq. - Module Pervasives: added float_of_int (synonymous for float), int_of_float (truncate), int_of_char (Char.code), char_of_int (Char.chr), bool_of_string. - Module String: added contains, contains_from, rcontains_from. * Unix library: - Unix.lockf: added F_RLOCK, F_TRLOCK; use POSIX locks whenever available. - Unix.tc{get,set}attr: added non-standard speeds 57600, 115200, 230400. - Unix.chroot: added. * Threads: - Bytecode threads: improved speed of I/O scheduling. - Native threads: fixed a bug involving signals and exceptions generated from C. * The "str" library: - Added Str.string_partial_match. - Bumped size of internal stack. * ocamlyacc: emit correct '# lineno' directive for prelude part of .mly file. * Emacs editing mode: updated with Jacques Garrigue's newest code. * Windows port: - Added support for the "-cclib -lfoo" option (instead of -cclib /full/path/libfoo.lib as before). - Threads: fixed a bug at initialization time. * Macintosh port: source code for Macintosh application merged in.