MAJ pour release 0.6

git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1757 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
master
Xavier Leroy 1997-11-10 18:20:48 +00:00
parent 55bb148630
commit 36acaaeeda
5 changed files with 120 additions and 41 deletions

77
Changes
View File

@ -1,28 +1,89 @@
Objective Caml 1.06:
--------------------
* ocamllex: lexers generated by ocamllex can now handle all characters,
including '\000'.
* Language:
- Added two new keywords: "assert" (check assertion) and "lazy"
(delay evaluation).
- Added "protected" methods (visible only from subclasses, can be hidden
in class type declared in module signature).
- Allow identifiers to start with "_" (such identifiers are treated
as lowercase idents).
* Memory management:
- A heap compacter was implemented, so long-running programs can now
* Run-time system:
- A heap compactor was implemented, so long-running programs can now
fight fragmentation.
- The meaning of the "space_overhead" parameter has changed.
- The macros Push_roots and Pop_roots are superseded by Begin_roots* and
End_roots.
- Bytecode executable includes list of primitives used, avoids crashes
on version mismatch.
- Reduced startup overhead for marshalling, much faster marshalling of
small objects.
- New exception Stack_overflow distinct from Out_of_memory.
- Maximum stack size configurable.
- I/O revised for compatibility with compactor and with native threads.
- All C code ANSIfied (new-style function declarations, etc).
- Threaded code work on all 64-bit processors, not just Alpha/Digital Unix.
- Better printing of uncaught exceptions.
* Language: two new keywords were added: "assert" and "lazy".
* Both compilers:
- Parsing: better reporting of syntax errors (e.g. shows unmatched opening
parenthesis on missing closing parenthesis).
- Check consistency between interfaces (.cmi).
- Revised rules for determining dependencies between modules.
- Options "-verbose" for printing calls to C compiler, "-noassert"
for turning assertion checks off.
* Native-code compiler:
- Machine-dependent parts rewritten using inheritance instead of
parameterized modules.
- GC bug in value letrec fixed.
- Port to Linux/Alpha.
- Sparc: cleaned up use of %g registers, now compatible with Solaris threads.
* Top-level interactive system:
- Can execute Caml script files given on command line.
- Reads commands from ./.ocamlinit on startup.
- Now thread-compatible.
* Standard library:
- Printexc: added "to_string".
- Filename: "is_absolute" is superseded by "is_implicit" and "is_relative".
To adapt old programs, change "is_absolute x" to "not (is_implicit x)"
(the new "is_relative" is NOT the opposite of the old "is_absolute").
(but the new "is_relative" is NOT the opposite of the old "is_absolute").
- Array, Hashtbl, List, Map, Queue, Set, Stack, Stream:
the "iter" functions now take as argument a unit-returning function.
- New library: Lazy (delayed computations).
- New library module: Lazy (delayed computations).
- Format: added "printf" interface to the formatter (see the documentation).
Revised behaviour of simple boxes: no more than one new line is output
when consecutive break hints should lead to multiple line breaks.
- New library module: Marshal. Allows marshalling to strings and
transmission of closures between identical programs (SPMD parallelism).
- Stream: revised implementation, renamed Parse_failure to Failure and
Parse_error to Error (don't you love gratuitous changes?).
- String: added index, rindex, index_from, rindex_from.
- Added Map.map, Set.subset, Printexc.to_string, Array.mapi,
Array.iteri, Array.fold_left, Array.fold_right.
* ocamllex: lexers generated by ocamllex can now handle all characters,
including '\000'.
* ocamlyacc: fixed bug with function closures returned by parser rules.
* Debugger:
- Revised generation of events.
- Break on function entrance.
- Numerous small fixes.
* External libraries:
- systhreads: can now use POSIX threads; POSIX and Win32 threads are
now supported by the native-code compiler.
- dbm and graph: work in native code.
- num: fixed bug in Nat.nat_of_string.
- str: fixed deallocation bug with case folding.
- win32unix: use Win32 handles instead of (buggy) VC++ emulation of Unix
file handles; added gettimeofday.
* Emacs editing mode and debugger interface updated to July '97 version.
Objective Caml 1.05:
--------------------

65
LICENSE
View File

@ -1,12 +1,12 @@
LEGAL NOTICE
Software: Objective Caml, version 1.05 of March 1997,
Software: Objective Caml, version 1.06 of November 1997,
hereinafter referred to as "the software".
The software has been designed and produced by Xavier Leroy and Damien
Doligez, research workers for the Institut National de Recherche en
Informatique et en Automatique (INRIA) - Domaine de Voluceau -
Rocquencourt - 78153 Le Chesnay Cedex - France.
The software has been designed and produced by Xavier Leroy, Jerome
Vouillon, and Damien Doligez, research workers for the Institut
National de Recherche en Informatique et en Automatique (INRIA) -
Domaine de Voluceau - Rocquencourt - 78153 Le Chesnay Cedex - France.
INRIA holds all ownership rights to Objective Caml.
@ -23,23 +23,8 @@ the software distributed on the Internet.
a- Extent of the rights granted by the INRIA to the user of the software:
INRIA freely grants the right to use, modify and integrate the
software in another software, provided that the modifications are for
personal use only. Public distribution of derivative works is not
permitted, unless the user obtains the express approval of INRIA.
INRIA freely grants the right to distribute executable files generated
by the Objective Caml compilers (ocamlc and ocamlopt). Binaries of the
Objective Caml run-time system (ocamlrun) can also be distributed
freely, with the sole condition that the distribution includes the
following statement:
"This software includes the Objective Caml run-time system,
which is copyright 1995 INRIA."
All other files generated by the Objective Caml system, including
custom toplevel systems generated by ocamlmktop, are considered as
derivative works and cannot be publicly distributed without the
express approval of INRIA.
software in another software, provided that all derivative works are
distributed under the conditions described in point b- below.
b- Reproduction of the software:
@ -49,11 +34,18 @@ those defined at point a- above. Any copy of the software and/or relevant
documentation must comprise reference to the ownership of INRIA and
the present file.
The user undertakes not to carry out any paying distribution of the
software. However, he is authorized to bill any person or body for the
cost of reproduction of said software. As regards any other type of
distribution, the user undertakes to apply to obtain the express
approval of INRIA.
The user undertakes to distribute the software either as unmodified
source files, identical to those originally made public by INRIA, or as
executable binaries obtained by compiling the original source files.
Distribution of derivative works obtained by modifying the sofware or
integrating it in another software is allowed only if the distribution
consists of the unmodified, original source files for the software,
along with difference files (patches) to be applied by the user of the
derivative work.
As regards any other type of distribution, the user undertakes to
apply to obtain the express approval of INRIA.
c- Guarantees:
@ -63,3 +55,22 @@ particular shall not be liable should the software not comply with the
requirements of the user, INRIA not being obliged to repair any
possible direct or indirect damage.
d- Distribution of programs compiled with Objective Caml:
INRIA freely grants the right to distribute executable files generated
by the Objective Caml compilers (ocamlc and ocamlopt). Binaries of the
Objective Caml run-time system (ocamlrun) can also be distributed
freely, with the sole condition that the distribution includes the
following statement:
"This software includes the Objective Caml run-time system,
which is copyright 1996 INRIA."
Executable files that include the Objective Caml interactive system
(such as those generated by the ocamlmktop command) can also be
distributed freely, with the sole condition that the distribution
includes the following statement:
"This software includes the Objective Caml interactive system,
which is copyright 1996 INRIA."

14
README
View File

@ -16,7 +16,7 @@ standalone programs, or as an interactive, toplevel-based system.
The other compiler generates high-performance native code for a number
of processors. Compilation takes longer and generates bigger code, but
the generated programs deliver excellent performance (better than
Standard ML of New Jersey 1.08 on our tests), while retaining the
Standard ML of New Jersey 1.09 on our tests), while retaining the
moderate memory requirements of the bytecode compiler. The native-code
compiler currently runs on the following platforms:
@ -42,10 +42,13 @@ conversion from Caml Special Light to Objective Caml.
CONTENTS:
Changes what's new with each release
INSTALL instructions for installation
INSTALL.MPW infos on the Macintosh MPW port of Objective Caml
LICENSE license and copyright notice
Makefile main Makefile
README this file
README.win32 infos on the MS Windows NT/Windows 95 port of O.Caml
asmcomp/ native-code compiler and linker
asmrun/ native-code runtime library
boot/ bootstrap compiler
@ -56,6 +59,7 @@ CONTENTS:
driver/ driver code for the compilers
emacs/ Caml editing mode and debugger interface for GNU Emacs
lex/ lexer generator
otherlibs/ several external libraries
parsing/ syntax analysis
stdlib/ standard library
tools/ various utilities
@ -75,10 +79,11 @@ the copyright notice remains attached.
INSTALLATION:
See the file INSTALL for installation instructions on Unix machines.
For MS Windows, see README.win32. For the Macintosh, see INSTALL.MPW.
DOCUMENTATION:
The Objective Caml manual is distributed in Postscript, DVI, and
The Objective Caml manual is distributed in HTML, Postscript, DVI, and
plain text. It can be obtained by anonymous FTP from ftp.inria.fr as
described below. It is also available on the World Wide Web, at
@ -100,7 +105,7 @@ There exists a mailing list of users of the Caml implementations
developed at INRIA. The purpose of this list is to share
experience, exchange ideas (and even code), and report on applications
of the Caml language. This list is moderated; messages can be
written in English or in French. The list has about 200 subscribers.
written in English or in French. The list has about 400 subscribers.
Messages to the list should be sent to:
@ -132,5 +137,6 @@ The mailing list caml-light@inria.fr is forwarded to
a small group of implementors at INRIA. For general questions and
discussions, caml-list@inria.fr is better; for bug reports
and very specific technical questions, caml-light@inria.fr
is preferred. We often cross-post from one list to the other, anyway.
is preferred. We often redirect messages from one list to the other,
anyway.

3
configure vendored
View File

@ -47,7 +47,7 @@ while : ; do
x11_include_dir=$2; shift;;
-x11lib*|--x11lib*)
x11_lib_dir=$2; shift;;
-with-pthread|--with-pthread)
-with-pthread*|--with-pthread*)
posix_threads=yes;;
*) echo "Unknown option \"$1\"." 1>&2; exit 2;;
esac
@ -155,6 +155,7 @@ case "$bytecc,$host" in
# Turn off warning "unused library"
bytecclinkopts="-32 -Wl,-woff,84";;
cc*,mips-*-irix6*)
# (For those who wnat to force "cc -64")
# Turn off warning "unused library"
bytecclinkopts="-Wl,-woff,84";;
esac

View File

@ -21,7 +21,7 @@ work around the following problems:
The first problem no longer affects the Win32unix library.
The second problem makes it impoosible, under Windows 95, to create an
The second problem makes it impossible, under Windows 95, to create an
in_channel or out_channel on a file descriptor opened on a socket,
using the in_channel_of_descr* and out_channel_of_descr*.