Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] OCaml 3.05 released
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Scott J. <jscott@p...>
Subject: Re: [Caml-list] OCaml 3.05 released
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" <xavier.leroy@inria.fr>
To: <caml-announce@inria.fr>
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