1995-09-03 08:22:54 -07:00
|
|
|
OVERVIEW:
|
|
|
|
|
1996-04-30 07:53:58 -07:00
|
|
|
Objective Caml is an implementation of the ML language, based on
|
|
|
|
the Caml Light dialect extended with a complete class-based object system
|
|
|
|
and a powerful module system in the style of Standard ML.
|
1995-09-03 08:22:54 -07:00
|
|
|
|
1996-04-30 07:53:58 -07:00
|
|
|
Objective Caml comprises two compilers. One generates bytecode
|
1995-09-03 08:22:54 -07:00
|
|
|
which is then interpreted by a C program. This compiler runs quickly,
|
|
|
|
generates compact code with moderate memory requirements, and is
|
|
|
|
portable to essentially any 32 or 64 bit Unix platform. Performance of
|
|
|
|
generated programs is quite good for a bytecoded implementation:
|
|
|
|
almost twice as fast as Caml Light 0.7. This compiler can be used
|
|
|
|
either as a standalone, batch-oriented compiler that produces
|
|
|
|
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
|
1995-09-11 09:03:52 -07:00
|
|
|
the generated programs deliver excellent performance (better than
|
|
|
|
Standard ML of New Jersey 1.08 on our tests), while retaining the
|
|
|
|
moderate memory requirements of the bytecode compiler. The native-code
|
|
|
|
compiler currently runs on the following platforms:
|
1995-09-03 08:22:54 -07:00
|
|
|
|
1997-03-11 04:31:08 -08:00
|
|
|
Alpha processors: AlphaStation and DecStation 3000 under Digital Unix
|
1996-04-18 09:27:16 -07:00
|
|
|
Sparc processors: Sun Sparcstation under SunOS 4.1, Solaris 2, NetBSD
|
1996-09-19 05:57:28 -07:00
|
|
|
Intel 486 and Pentium processors: PCs under Linux, NextStep,
|
|
|
|
FreeBSD, Solaris 2
|
1997-03-11 04:31:08 -08:00
|
|
|
Mips processors: SGI workstations and mainframes under IRIX 6,
|
1997-02-23 08:29:36 -08:00
|
|
|
DecStation 3100 and 5000 under Ultrix 4
|
1996-09-19 05:57:28 -07:00
|
|
|
HP PA-RISC processors: HP 9000/700 under HPUX 9 and NextStep
|
|
|
|
PowerPC processors: IBM RS6000 and PowerPC workstations under AIX 3.2,
|
|
|
|
PowerMacintosh under MkLinux
|
1996-10-29 06:58:37 -08:00
|
|
|
Motorola 680x0 processors: Sun 3 under SunOS
|
1995-09-03 08:22:54 -07:00
|
|
|
|
|
|
|
Other operating systems for the processors above have not been tested,
|
1996-01-11 06:14:40 -08:00
|
|
|
but the compiler may work under other operating systems with little work.
|
1995-09-03 08:22:54 -07:00
|
|
|
|
1996-05-03 02:52:50 -07:00
|
|
|
Before the introduction of objects, Objective Caml was known as Caml
|
|
|
|
Special Light. Objective Caml is almost upwards compatible with Caml
|
|
|
|
Special Light, except for a few additional reserved keywords that have
|
|
|
|
forced some renamings of standard library functions. The script
|
|
|
|
tools/csl2ocaml in the distribution can be used to automate the
|
|
|
|
conversion from Caml Special Light to Objective Caml.
|
1995-09-03 08:22:54 -07:00
|
|
|
|
|
|
|
CONTENTS:
|
|
|
|
|
|
|
|
INSTALL instructions for installation
|
|
|
|
LICENSE license and copyright notice
|
|
|
|
Makefile main Makefile
|
|
|
|
README this file
|
|
|
|
asmcomp/ native-code compiler and linker
|
|
|
|
asmrun/ native-code runtime library
|
|
|
|
boot/ bootstrap compiler
|
|
|
|
bytecomp/ bytecode compiler and linker
|
|
|
|
byterun/ bytecode interpreter and runtime system
|
|
|
|
config/ autoconfiguration stuff
|
1997-02-23 08:29:36 -08:00
|
|
|
debugger/ source-level replay debugger
|
1995-09-03 08:22:54 -07:00
|
|
|
driver/ driver code for the compilers
|
1997-02-23 08:29:36 -08:00
|
|
|
emacs/ Caml editing mode and debugger interface for GNU Emacs
|
1995-09-03 08:22:54 -07:00
|
|
|
lex/ lexer generator
|
|
|
|
parsing/ syntax analysis
|
|
|
|
stdlib/ standard library
|
|
|
|
tools/ various utilities
|
|
|
|
toplevel/ interactive system
|
|
|
|
typing/ typechecking
|
|
|
|
utils/ utility libraries
|
|
|
|
yacc/ parser generator
|
|
|
|
|
|
|
|
COPYRIGHT:
|
|
|
|
|
1997-02-25 06:39:51 -08:00
|
|
|
All files marked "Copyright INRIA" in this distribution are copyright
|
|
|
|
1996, 1997 Institut National de Recherche en Informatique et Automatique
|
|
|
|
(INRIA) and distributed under the conditions stated in file LICENSE.
|
1995-09-03 08:22:54 -07:00
|
|
|
They can be freely redistributed for non-commercial purposes, provided
|
|
|
|
the copyright notice remains attached.
|
|
|
|
|
|
|
|
INSTALLATION:
|
|
|
|
|
|
|
|
See the file INSTALL for installation instructions on Unix machines.
|
|
|
|
|
|
|
|
DOCUMENTATION:
|
|
|
|
|
1996-04-30 07:53:58 -07:00
|
|
|
The Objective Caml manual is distributed in Postscript, DVI, and
|
1995-09-03 08:22:54 -07:00
|
|
|
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
|
|
|
|
|
1997-02-25 06:39:51 -08:00
|
|
|
http://pauillac.inria.fr/ocaml/
|
1995-09-03 08:22:54 -07:00
|
|
|
|
|
|
|
AVAILABILITY:
|
|
|
|
|
1996-04-30 07:53:58 -07:00
|
|
|
The complete Objective Caml distribution resides on ftp.inria.fr,
|
1995-09-03 08:22:54 -07:00
|
|
|
and can be accessed by anonymous FTP:
|
|
|
|
|
|
|
|
host: ftp.inria.fr (192.93.2.54)
|
1995-09-08 01:55:12 -07:00
|
|
|
directory: lang/caml-light
|
1995-09-03 08:22:54 -07:00
|
|
|
|
1995-09-08 01:55:12 -07:00
|
|
|
or through a Web browser at ftp://ftp.inria.fr/lang/caml-light/.
|
1995-09-03 08:22:54 -07:00
|
|
|
|
|
|
|
KEEPING IN TOUCH WITH THE CAML COMMUNITY:
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
Messages to the list should be sent to:
|
|
|
|
|
1996-09-19 05:57:28 -07:00
|
|
|
caml-list@inria.fr
|
1995-09-03 08:22:54 -07:00
|
|
|
|
|
|
|
If you wish to subscribe to this list, please send a message
|
|
|
|
(including your email address) to:
|
|
|
|
|
1996-09-19 05:57:28 -07:00
|
|
|
caml-list-request@inria.fr
|
1995-09-03 08:22:54 -07:00
|
|
|
|
|
|
|
Archives of the list are available on the World Wide Web at URL
|
1996-01-04 04:48:44 -08:00
|
|
|
http://pauillac.inria.fr/caml/.
|
1995-09-03 08:22:54 -07:00
|
|
|
|
1996-01-04 04:48:44 -08:00
|
|
|
The Usenet news groups comp.lang.ml and comp.lang.functional
|
|
|
|
also contains discussions about the ML family of programming languages,
|
|
|
|
including Caml.
|
1995-09-03 08:22:54 -07:00
|
|
|
|
|
|
|
BUG REPORTS AND USER FEEDBACK:
|
|
|
|
|
|
|
|
Send your bug reports by E-mail to:
|
|
|
|
|
1996-09-19 05:57:28 -07:00
|
|
|
caml-light@inria.fr
|
1995-09-03 08:22:54 -07:00
|
|
|
|
|
|
|
To be effective, bug reports should include a complete program
|
|
|
|
(preferably small) that exhibits the unexpected behavior, and the
|
|
|
|
configuration you are using (machine type, etc).
|
|
|
|
|
1996-09-19 05:57:28 -07:00
|
|
|
The mailing list caml-light@inria.fr is forwarded to
|
1995-09-03 08:22:54 -07:00
|
|
|
a small group of implementors at INRIA. For general questions and
|
1996-09-19 05:57:28 -07:00
|
|
|
discussions, caml-list@inria.fr is better; for bug reports
|
|
|
|
and very specific technical questions, caml-light@inria.fr
|
1995-09-03 08:22:54 -07:00
|
|
|
is preferred. We often cross-post from one list to the other, anyway.
|
|
|
|
|