diff options
author | Xavier Leroy <xavier.leroy@inria.fr> | 1997-11-10 18:20:48 +0000 |
---|---|---|
committer | Xavier Leroy <xavier.leroy@inria.fr> | 1997-11-10 18:20:48 +0000 |
commit | 36acaaeeda12c89f6b9068a3743a6be0ba862267 (patch) | |
tree | 4a46fc998a6a4c161316dfb73ddd40905e01ed8b | |
parent | 55bb1486306dff90e5f4b31f0cc4693d305f861b (diff) |
MAJ pour release 0.6
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@1757 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r-- | Changes | 79 | ||||
-rw-r--r-- | LICENSE | 65 | ||||
-rw-r--r-- | README | 14 | ||||
-rwxr-xr-x | configure | 3 | ||||
-rw-r--r-- | otherlibs/win32unix/README | 2 |
5 files changed, 121 insertions, 42 deletions
@@ -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. - -* Language: two new keywords were added: "assert" and "lazy". + - 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. + +* 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: -------------------- @@ -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." + @@ -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. @@ -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 diff --git a/otherlibs/win32unix/README b/otherlibs/win32unix/README index a84c16a91..6b6eebfdf 100644 --- a/otherlibs/win32unix/README +++ b/otherlibs/win32unix/README @@ -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*. |