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 PAA22672 for caml-redistribution; Tue, 11 Mar 1997 15:54:14 +0100 (MET) Received: (from xleroy@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id OAA20795; Tue, 11 Mar 1997 14:28:47 +0100 (MET) From: Xavier Leroy Message-Id: <199703111328.OAA20795@pauillac.inria.fr> Subject: Objective Caml 1.04 released To: caml-list@pauillac.inria.fr, comp-lang-ml@cs.cmu.edu Date: Tue, 11 Mar 1997 14:28:47 +0100 (MET) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: weis Release 1.04 of Objective Caml is now available. The main novelty in this release is the port of the Caml Light replay debugger. Also, the native-code compiler now works on Silicon Graphics, weak pointers are supported, and the foreign interface was enriched to make calling Caml from C easier. A detailed list of changes follows at the end of this message. The sources and Windows binaries are available by anonymous FTP at ftp://ftp.inria.fr/lang/caml-light. Diffs are not available due to bootstrapping difficulties. See http://pauillac.inria.fr/ocaml/ for documentation and general info about Objective Caml. - Xavier Leroy Objective Caml 1.04: -------------------- * Replay debugger ported from Caml Light; added debugger support in compiler (option -g) and runtime system. Debugger is alpha-quality and needs testing. * Parsing: - Support for "# linenum" directives. - At toplevel, allow several phrases without intermediate ";;". * Typing: - Allow constraints on datatype parameters, e.g. type 'a foo = ... constraint 'a = 'b * 'c. - Fixed bug in signature matching in presence of free type variables '_a. - Extensive cleanup of internals of type inference. * Native-code compilation: - Inlining of small functions at point of call (fairly conservative). - MIPS code generator ported to SGI IRIX 6. - Better code generated for large integer constants. - Check for urgent GC when allocating large objects in major heap. - PowerPC port: better scheduling, reduced TOC consumption. - HPPA port: handle long conditional branches gracefully, several span-dependent bugs fixed. * Standard library: - More floating-point functions (all ANSI C float functions now available). - Hashtbl: added functorial interface (allow providing own equality and hash functions); rehash when resizing, avoid memory leak on Hashtbl.remove. - Added Char.uppercase, Char.lowercase, String.uppercase, String.lowercase, String.capitalize, String.uncapitalize. - New module Weak for manipulating weak pointers. - New module Callback for registering closures and exceptions to be used from C. * Foreign interface: - Better support for callbacks (C calling Caml), exception raising from C, and main() in C. Added function to remove a global root. - Option -output-obj to package Caml code as a C library. * Thread library: fixed bug in timed_read and timed_write operations; Lexing.from_function and Lexing.from_channel now reentrant. * Unix interface: renamed EACCESS to EACCES (the POSIX name); added setsid; fixed bug in inet_addr_of_string for 64-bit platforms. * Ocamlyacc: default error function no longer prevents error recovery. * Ocamllex: fixed reentrancy problem w.r.t. exceptions during refill; fixed output problem (\r\r\n) under Win32. * Macintosh port: - The makefiles are provided for compiling and installing O'Caml on a Macintosh with MPW 3.4.1. - An application with the toplevel in a window is forthcoming. * Windows NT/95 port: updated toplevel GUI to that of Caml Light 0.73. * Emacs editing mode and debugger interface included in distribution.