* Objective Caml 2.01 released
@ 1998-12-09 13:31 Xavier Leroy
0 siblings, 0 replies; only message in thread
From: Xavier Leroy @ 1998-12-09 13:31 UTC (permalink / raw)
To: caml-list
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 <caml/mlvalues.h>.
* Standard library:
- Module Format: added {get,set}_all_formatter_output_functions,
formatter_of_out_channel, and the control sequence @<n> 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.
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~1998-12-09 14:42 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-12-09 13:31 Objective Caml 2.01 released Xavier Leroy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox