From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from majordomo@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id FAA16631; Tue, 30 Jul 2002 05:50:07 +0200 (MET DST) X-Authentication-Warning: pauillac.inria.fr: majordomo set sender to owner-caml-list@pauillac.inria.fr using -f 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 FAA16207 for ; Tue, 30 Jul 2002 05:50:06 +0200 (MET DST) Received: from yoda.planetinternet.be (anvers-smtp.planetinternet.be [195.95.30.152]) by concorde.inria.fr (8.11.1/8.11.1) with ESMTP id g6U3o5115711; Tue, 30 Jul 2002 05:50:05 +0200 (MET DST) Received: from janxp (u212-239-170-154.adsl.pi.be [212.239.170.154]) by yoda.planetinternet.be (Postfix) with ESMTP id 6F38C36BAE; Tue, 30 Jul 2002 05:50:04 +0200 (CEST) Message-ID: <000f01c2377c$36263060$2097fea9@janxp> From: "Scott J." To: "Xavier Leroy" Cc: "Caml-list" References: <20020729144527.A30919@pauillac.inria.fr> Subject: Re: [Caml-list] OCaml 3.05 released Date: Tue, 30 Jul 2002 05:50:14 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Sender: owner-caml-list@pauillac.inria.fr Precedence: bulk What is meant by first first-class polymorphism? Another question do we really need MSVC 6.0 or is Jacob's Navia's win32 lcc also a good alternative. Can Olabl be used with windows? Regards Scott ----- Original Message ----- From: "Xavier Leroy" To: Sent: Monday, July 29, 2002 2:45 PM Subject: [Caml-list] OCaml 3.05 released > Version 3.05 of the Objective Caml system is now available from > > http://caml.inria.fr/ocaml/distrib.html > > The main novelty in this release is the addition of first-class > polymorphism for methods and record fields. Also, the ocamldoc > documentation generator is now included in the release, and the > modules Complex and Scanf were added to the standard library. This > comes in addition to the usual amount of bug fixes, which are > described in more details below. > > For general info on Objective Caml, see http://caml.inria.fr. Bug > reports go to caml-bugs@inria.fr, messages for the implementors to > caml@inria.fr, and general discussions to the mailing-list > caml-list@inria.fr, or the comp.lang.ml or comp.lang.functional > newsgroups. > > Enjoy, > > - Xavier Leroy, for the Objective Caml team. > > > Objective Caml 3.05: > -------------------- > > Language features: > - Support for polymorphic methods and record fields. > - Allows _ separators in integer and float literals, e.g. 1_000_000. > > Type-checker: > - New flag -principal to enforce principality of type inference. > - Fixed subtle typing bug with higher-order functors. > - Fixed several complexity problems; changed (again) the behaviour of > simple coercions. > - Fixed various bugs with objects and polymorphic variants. > - Improved some error messages. > > Both compilers: > - Added option "-pack" to assemble several compilation units as one unit > having the given units as sub-modules. > - More precise detection of unused sub-patterns in "or" patterns. > - Warnings for ill-formed \ escapes in string and character literals. > - Protect against spaces and other special characters in directory names. > - Added interface consistency check when building a .cma or .cmxa library. > - Minor reduction in code size for class initialization code. > - Added option "-nostdlib" to ignore standard library entirely. > > Bytecode compiler: > - Fixed issue with ocamlc.opt and dynamic linking. > > Native-code compiler: > - Added link-time check for multiply-defined module names. > - Fixed GC bug related to constant constructors of polymorphic variant types. > - Fixed compilation bug for top-level "include" statements. > - PowerPC port: work around limited range for relative branches, > thus removing assembler failures on large functions. > - IA64 port: fixed code generation bug for 3-way constructor matching. > > Toplevel interactive system: > - Can load object files given on command line before starting up. > - ocamlmktop: minimized possibility of name clashes with user-provided modules. > > Run-time system: > - Minor garbage collector no longer recursive. > - Better support for lazy data in the garbage collector. > - Fixed issues with the heap compactor. > - Fixed issues with finalized Caml values. > - The type "int64" is now supported on all platforms: we use software > emulation if the C compiler doesn't support 64-bit integers. > - Support for float formats that are neither big-endian nor little-endian > (one known example: the ARM). > - Fixed bug in callback*_exn functions in the exception-catching case. > - Work around gcc 2.96 bug on RedHat 7.2 and Mandrake 8.0, 8.1 among others. > - Stub DLLs now installed in subdir stublibs/ of standard library dir. > > Standard library: > - Protect against integer overflow in sub-string and sub-array bound checks. > - New module Complex implementing arithmetic over complex numbers. > - New module Scanf implementing format-based scanning a la scanf() in C. > - Module Arg: added alternate entry point Arg.parse_argv. > - Modules Char, Int32, Int64, Nativeint, String: added type "t" and function > "compare" so that these modules can be used directly with e.g. Set.Make. > - Module Digest: fixed issue with Digest.file on large files (>= 1Gb); > added Digest.to_hex. > - Module Filename: added Filename.open_temp_file to atomically create and > open the temp file; improved security of Filename.temp_file. > - Module Genlex: allow _ as first character of an identifier. > - Module Lazy: more efficient implementation. > - Module Lexing: improved performances for very large tokens. > - Module List: faster implementation of sorting functions. > - Module Printf: > added %S and %C formats (quoted, escaped strings and characters); > added kprintf (calls user-specified continuation on formatted string). > - Module Queue: faster implementation (courtesy of François Pottier). > - Module Random: added Random.bool. > - Module Stack: added Stack.is_empty. > - Module Pervasives: > added sub-module LargeFile to support files larger than 1Gb > (file offsets are int64 rather than int); > opening in "append" mode automatically sets "write" mode; > files are now opened in close-on-exec mode; > string_of_float distinguishes its output from a plain integer; > faster implementation of input_line for long lines. > - Module Sys: > added Sys.ocaml_version containing the OCaml version number; > added Sys.executable_name containing the (exact) path of the > file being executable; > Sys.argv.(0) is now unchanged w.r.t. what was provided as 0-th argument > by the shell. > - Module Weak: added weak hash tables. > > Other libraries: > - Bigarray: > support for bigarrays of complex numbers; > added functions Genarray.dims, > {Genarray,Array1,Array2,Array3}.{kind,layout}. > - Dynlink: fixed bug with loading of mixed-mode Caml/C libraries. > - LablTK: > now supports also the CamlTK API (no labels); > support for Activate and Deactivate events; > support for virtual events; > added UTF conversion; > export the tcl interpreter as caml value, to avoid DLL dependencies. > - Unix: > added sub-module LargeFile to support files larger than 1Gb > (file offsets are int64 rather than int); > added POSIX opening flags (O_NOCTTY, O_*SYNC); > use reentrant functions for gethostbyname and gethostbyaddr when available; > fixed bug in Unix.close_process and Unix.close_process_full; > removed some overhead in Unix.select. > > Tools: > - ocamldoc (the documentation generator) is now part of the distribution. > - Debugger: now supports the option -I +dir. > - ocamllex: supports the same identifiers as ocamlc; warns for > bad \ escapes in strings and characters. > - ocamlbrowser: > recenter the module boxes when showing a cross-reference; > include the current directory in the ocaml path. > > Windows port: > - Can now compile with Mingw (the GNU compilers without the Cygwin > runtime library) in addition to MSVC. > - Toplevel GUI: wrong filenames were given to #use and #load commands; > read_line() was buggy for short lines (2 characters or less). > - OCamlBrowser: now fully functional. > - Graphics library: fixed several bugs in event handling. > - Threads library: fixed preemption bug. > - Unix library: better handling of the underlying differences between > sockets and regular file descriptors; > added Unix.lockf and a better Unix.rename (thanks to Tracy Camp). > - LablTk library: fixed a bug in Fileinput. > ------------------- > To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr > Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > ------------------- To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ Beginner's list: http://groups.yahoo.com/group/ocaml_beginners