1996-09-26 07:48:42 -07:00
|
|
|
Objective Caml 1.02:
|
|
|
|
--------------------
|
|
|
|
* Typing:
|
|
|
|
- fixed bug with type names escaping their scope via unification
|
|
|
|
with non-generalized type variables '_a;
|
|
|
|
- keep #class abbreviations longer;
|
1996-09-27 04:40:19 -07:00
|
|
|
- faster checking of well-formed abbreviation definitions;
|
1996-09-26 07:48:42 -07:00
|
|
|
- stricter checking of "with" constraints over signatures (arity
|
|
|
|
mismatch, overriding of an already manifest type).
|
|
|
|
|
|
|
|
* Compilation (ocamlc and ocamlopt):
|
|
|
|
- fixed bug in compilation of recursive classes;
|
|
|
|
- [|...|] and let...rec... allowed inside definitions of recursive
|
|
|
|
data structures;
|
|
|
|
|
|
|
|
* Bytecode compilation: fixed overflow in linker for programs with
|
|
|
|
more than 65535 globals and constants.
|
|
|
|
|
|
|
|
* Native-code compilation:
|
|
|
|
- ocamlopt ported to HPPA under HP/UX, Intel x86 under Solaris 2,
|
|
|
|
PowerMacintosh under MkLinux;
|
|
|
|
- fixed two bugs related to floating-point arrays (one with "t array"
|
|
|
|
where t is an abstract type implemented as float, one with
|
|
|
|
comparison between two float arrays on 32 bit platforms);
|
|
|
|
- fixed reloading/spilling problem causing non-termination of
|
|
|
|
register allocation;
|
|
|
|
- fixed bugs in handling of () causing loss of tail recursion;
|
|
|
|
- fixed reloading bug in indirect calls.
|
|
|
|
|
|
|
|
* Windows NT/95 port:
|
|
|
|
- complete port of the threads library (Pascal Cuoq);
|
|
|
|
- partial port of the Unix library (Pascal Cuoq);
|
|
|
|
- expansion of *, ? and @ on the command line.
|
|
|
|
|
|
|
|
* Standard library:
|
|
|
|
- bug in in List.exists2 fixed;
|
|
|
|
- bug in "Random.int n" for very large n on 64-bit machines fixed;
|
|
|
|
- module Format: added a "general purpose" type of box (open_box);
|
|
|
|
can output on several formatters at the same time.
|
|
|
|
|
|
|
|
* The "threads" library:
|
|
|
|
- implementation on top of native threads available for Win32 and
|
|
|
|
POSIX 1003.1c;
|
|
|
|
- added -thread option to select a thread-safe version of the
|
|
|
|
standard library, the ThreadIO module is no longer needed.
|
1996-06-11 12:11:29 -07:00
|
|
|
|
1996-09-26 07:48:42 -07:00
|
|
|
* The "graph" library: avoid invalid pixmaps when doing
|
|
|
|
open_graph/close_graph several times.
|
|
|
|
|
|
|
|
* The "dynlink" library: support for "private" (no re-export) dynamic loading.
|
|
|
|
|
|
|
|
* ocamlyacc: skip '...' character literals correctly.
|
|
|
|
|
|
|
|
* C interface: C code linked with O'Caml code can provide its own main()
|
|
|
|
and call caml_main() later.
|
|
|
|
|
|
|
|
|
|
|
|
Objective Caml 1.01:
|
|
|
|
--------------------
|
1996-06-11 12:11:29 -07:00
|
|
|
* Typing: better report of type incompatibilities;
|
|
|
|
non-generalizable type variables in a struct...end no longer flagged
|
|
|
|
immediately as an error;
|
|
|
|
name clashes during "open" avoided.
|
|
|
|
|
|
|
|
* Fixed bug in output_value where identical data structures
|
|
|
|
could have different external representations; this bug caused wrong
|
|
|
|
"inconsistent assumptions" errors when checking compatibility of
|
|
|
|
interfaces at link-time.
|
|
|
|
|
|
|
|
* Standard library: fixed bug in Array.blit on overlapping array sections
|
|
|
|
|
|
|
|
* Unmarshaling from strings now working.
|
|
|
|
|
|
|
|
* ocamlc, ocamlopt: new flags -intf and -impl to force compilation as
|
|
|
|
an implementation/an interface, regardless of file extension;
|
|
|
|
overflow bug on wide-range integer pattern-matchings fixed.
|
|
|
|
|
|
|
|
* ocamlc: fixed bytecode generation bug causing problems with compilation
|
|
|
|
units defining more than 256 values
|
|
|
|
|
|
|
|
* ocamlopt, all platforms:
|
|
|
|
fixed GC bug in "let rec" over data structures;
|
|
|
|
link startup file first, fixes "undefined symbol" errors with some
|
|
|
|
libraries.
|
|
|
|
|
|
|
|
* ocamlopt, Intel x86:
|
|
|
|
more efficient calling sequence for calling C functions;
|
|
|
|
floating-point wars, chapter 5: don't use float stack for holding
|
|
|
|
float pseudo-registers, stack-allocating them is just as efficient.
|
|
|
|
|
|
|
|
* ocamlopt, Alpha and Intel x86: more compact calling sequence for garbage
|
|
|
|
collection.
|
|
|
|
|
|
|
|
* ocamllex: generated automata no longer use callbacks for refilling
|
|
|
|
the input buffer (works better with threads); character literals
|
|
|
|
correctly skipped inside actions.
|
|
|
|
|
|
|
|
* ocamldep: "-I" directories now searched in the right order
|
|
|
|
|
|
|
|
* Thread library: incompatibilities with callbacks, signals, and
|
|
|
|
dynamic linking removed; scheduling bug with Thread.wait fixed.
|
|
|
|
|
|
|
|
* New "dbm" library, interfaces with NDBM.
|
|
|
|
|
1996-06-12 02:49:51 -07:00
|
|
|
* Object-oriented extensions:
|
|
|
|
instance variables can now be omitted in class types;
|
|
|
|
some error messages have been made clearer;
|
|
|
|
several bugs fixes.
|
|
|
|
|
1996-04-30 07:53:58 -07:00
|
|
|
Objective Caml 1.00:
|
|
|
|
--------------------
|
|
|
|
|
|
|
|
* Merge of Jerome Vouillon and Didier Remy's object-oriented
|
|
|
|
extensions.
|
|
|
|
|
|
|
|
* All libraries: all "new" functions renamed to "create" because "new"
|
|
|
|
is now a reserved keyword.
|
|
|
|
|
|
|
|
* Compilation of "or" patterns (pat1 | pat2) completely revised to
|
|
|
|
avoid code size explosion.
|
|
|
|
|
|
|
|
* Compiler support for preprocessing source files (-pp flag).
|
|
|
|
|
|
|
|
* Library construction: flag -linkall to force linking of all units in
|
|
|
|
a library.
|
|
|
|
|
|
|
|
* Native-code compiler: port to the Sparc under NetBSD.
|
|
|
|
|
|
|
|
* Toplevel: fixed bug when tracing several times the same function
|
|
|
|
under different names.
|
|
|
|
|
|
|
|
* New format for marshaling arbitrary data structures, allows
|
|
|
|
marshaling to/from strings.
|
|
|
|
|
|
|
|
* Standard library: new module Genlex (configurable lexer for streams)
|
|
|
|
|
|
|
|
* Thread library: much better support for I/O and blocking system calls.
|
|
|
|
|
|
|
|
* Graphics library: faster reclaimation of unused pixmaps.
|
|
|
|
|
|
|
|
* Unix library: new functions {set,clear}_nonblock, {set,clear}_close_on_exec,
|
|
|
|
{set,get}itimer, inet_addr_any, {get,set}sockopt.
|
|
|
|
|
|
|
|
* Dynlink library: added support for linking libraries (.cma files).
|
|
|
|
|
|
|
|
Caml Special Light 1.15:
|
|
|
|
------------------------
|
1996-03-05 02:11:50 -08:00
|
|
|
|
|
|
|
* Caml Special Light now runs under Windows NT and 95. Many thanks to
|
|
|
|
Kevin Gallo (Microsoft Research) who contributed his initial port.
|
|
|
|
|
|
|
|
* csllex now generates tables for a table-driven automaton.
|
|
|
|
The resulting lexers are smaller and run faster.
|
|
|
|
|
|
|
|
* Completely automatic configuration script.
|
|
|
|
|
|
|
|
* Typing: more stringent checking of module type definitions against
|
|
|
|
manifest module type specifications.
|
|
|
|
|
|
|
|
* Toplevel: recursive definitions of values now working.
|
|
|
|
|
|
|
|
* Native-code compiler, all platforms:
|
|
|
|
toplevel "let"s with refutable patterns now working;
|
1996-03-15 02:33:03 -08:00
|
|
|
fixed bug in assignment to float record fields;
|
|
|
|
direct support for floating-point negation and absolute value.
|
1996-03-05 02:11:50 -08:00
|
|
|
|
|
|
|
* Native-code compiler, x86: fixed bug with tail calls (with more than
|
|
|
|
4 arguments) from a function with a one-word stack frame.
|
|
|
|
|
|
|
|
* Native-code compiler, Sparc: problem with -compact fixed.
|
|
|
|
|
|
|
|
* Thread library: support for non-blocking writes; scheduler revised.
|
|
|
|
|
1996-03-15 02:33:03 -08:00
|
|
|
* Unix library: bug in gethostbyaddr fixed; bounds checking for read,
|
|
|
|
write, etc.
|
|
|
|
|
1996-04-30 07:53:58 -07:00
|
|
|
Caml Special Light 1.14:
|
|
|
|
------------------------
|
1996-01-11 06:14:40 -08:00
|
|
|
|
|
|
|
* cslopt ported to the PowerPC/RS6000 architecture. Better support for
|
|
|
|
AIX in the bytecode system as well.
|
|
|
|
|
|
|
|
* cslopt, all platforms: fixed bug in live range splitting around catch/exit.
|
|
|
|
|
1996-02-01 07:00:58 -08:00
|
|
|
* cslopt for the Intel (floating-point wars, chapter 4):
|
|
|
|
implemented Ershov's algorithm to minimize floating-point stack usage;
|
|
|
|
out-of-order pops fixed.
|
|
|
|
|
|
|
|
* Several bug fixes in callbacks and signals.
|
1996-01-11 06:14:40 -08:00
|
|
|
|
1996-04-30 07:53:58 -07:00
|
|
|
Caml Special Light 1.13:
|
|
|
|
------------------------
|
1995-12-28 01:15:44 -08:00
|
|
|
|
|
|
|
* Pattern-matching compilation revised to factor out accesses inside
|
|
|
|
matched structures.
|
|
|
|
|
1996-01-04 04:48:44 -08:00
|
|
|
* Callbacks and signals now supported in cslopt.
|
|
|
|
Signals are only detected at allocation points, though.
|
1995-12-28 01:15:44 -08:00
|
|
|
Added callback functions with 2 and 3 arguments.
|
|
|
|
|
|
|
|
* More explicit error messages when a native-code program aborts due
|
|
|
|
to array or string bound violations.
|
|
|
|
|
1996-01-04 05:22:49 -08:00
|
|
|
* In patterns, "C _" allowed even if the constructor C has several arguments.
|
|
|
|
|
|
|
|
* && and || allowed as alternate syntax for & and or.
|
|
|
|
|
1995-12-28 01:15:44 -08:00
|
|
|
* cslopt for the Intel: code generation for floating-point
|
|
|
|
operations entirely redone for the third time (a pox on whomever at
|
|
|
|
Intel decided to organize the floating-point registers as a stack).
|
|
|
|
|
|
|
|
* cslopt for the Sparc: don't use Sparc V8 smul and sdiv instructions,
|
|
|
|
emulation on V7 processors is abysmal.
|
|
|
|
|
1996-04-30 07:53:58 -07:00
|
|
|
Caml Special Light 1.12:
|
|
|
|
------------------------
|
1995-12-28 01:15:44 -08:00
|
|
|
|
1996-01-04 04:48:44 -08:00
|
|
|
* Fixed an embarrassing bug with references to floats.
|
1995-12-28 01:15:44 -08:00
|
|
|
|
1996-04-30 07:53:58 -07:00
|
|
|
Caml Special Light 1.11:
|
|
|
|
------------------------
|
1995-12-28 01:15:44 -08:00
|
|
|
|
|
|
|
* Streams and stream parsers a la Caml Light are back (thanks to
|
|
|
|
Daniel de Rauglaudre).
|
|
|
|
|
|
|
|
* User-level concurrent threads, with low-level shared memory primitives
|
|
|
|
(locks and conditions) as well as channel-based communication primitives
|
|
|
|
with first-class synchronous events, in the style of Reppy's CML.
|
|
|
|
|
|
|
|
* The native-code compiler has been ported to the HP PA-RISC processor
|
|
|
|
running under NextStep (sorry, no HPUX, its linker keeps dumping
|
|
|
|
core on me).
|
|
|
|
|
|
|
|
* References not captured in a function are optimized into variables.
|
|
|
|
|
|
|
|
* Fixed several bugs related to exceptions.
|
|
|
|
|
|
|
|
* Floats behave a little more as specified in the IEEE standard
|
|
|
|
(believe it or not, but x < y is not the negation of x >= y).
|
|
|
|
|
|
|
|
* Lower memory consumption for the native-code compiler.
|
|
|
|
|
1996-04-30 07:53:58 -07:00
|
|
|
Caml Special Light 1.10:
|
|
|
|
------------------------
|
1995-12-28 01:15:44 -08:00
|
|
|
|
|
|
|
* Many bug fixes (too many to list here).
|
|
|
|
|
|
|
|
* Module language: introduction of a "with module" notation over
|
|
|
|
signatures for concise sharing of all type components of a signature;
|
|
|
|
better support for concrete types in signatures.
|
|
|
|
|
|
|
|
* Native-code compiler: the Intel 386 version has been ported to
|
|
|
|
NextStep and FreeBSD, and generates better code (especially for
|
|
|
|
floats)
|
|
|
|
|
|
|
|
* Tools and libraries: the Caml Light profiler and library for
|
|
|
|
arbitrary-precision arithmetic have been ported (thanks to John
|
|
|
|
Malecki and Victor Manuel Gulias Fernandez); better docs for the Unix
|
|
|
|
and regexp libraries.
|
|
|
|
|
1996-04-30 07:53:58 -07:00
|
|
|
Caml Special Light 1.07:
|
|
|
|
------------------------
|
1995-12-28 01:15:44 -08:00
|
|
|
|
|
|
|
* Syntax: optional ;; allowed in compilation units and structures
|
|
|
|
(back by popular demand)
|
|
|
|
|
|
|
|
* cslopt:
|
|
|
|
generic handling of float arrays fixed
|
|
|
|
direct function application when the function expr is not a path fixed
|
|
|
|
compilation of "let rec" over values fixed
|
|
|
|
multiple definitions of a value name in a module correctly handled
|
|
|
|
no calls to ranlib in Solaris
|
|
|
|
|
|
|
|
* csltop: #trace now working
|
|
|
|
|
|
|
|
* Standard library: added List.memq; documentation of Array fixed.
|
|
|
|
|
1996-04-30 07:53:58 -07:00
|
|
|
Caml Special Light 1.06:
|
|
|
|
------------------------
|
1995-12-28 01:15:44 -08:00
|
|
|
|
|
|
|
* First public release.
|