2017-05-14 09:36:39 -07:00
|
|
|
|=====
|
2020-10-19 09:18:13 -07:00
|
|
|
| Branch `trunk` | Branch `4.12` | Branch `4.11` | Branch `4.10`
|
2017-05-14 09:36:39 -07:00
|
|
|
|
2017-08-12 13:24:41 -07:00
|
|
|
| image:https://travis-ci.org/ocaml/ocaml.svg?branch=trunk["TravisCI Build Status (trunk branch)",
|
|
|
|
link="https://travis-ci.org/ocaml/ocaml"]
|
|
|
|
image:https://ci.appveyor.com/api/projects/status/github/ocaml/ocaml?branch=trunk&svg=true["AppVeyor Build Status (trunk branch)",
|
|
|
|
link="https://ci.appveyor.com/project/avsm/ocaml"]
|
2020-10-19 09:18:13 -07:00
|
|
|
| image:https://travis-ci.org/ocaml/ocaml.svg?branch=4.12["TravisCI Build Status (4.12 branch)",
|
|
|
|
link="https://travis-ci.org/ocaml/ocaml"]
|
|
|
|
image:https://ci.appveyor.com/api/projects/status/github/ocaml/ocaml?branch=4.12&svg=true["AppVeyor Build Status (4.12 branch)",
|
|
|
|
link="https://ci.appveyor.com/project/avsm/ocaml"]
|
2020-04-23 12:27:11 -07:00
|
|
|
| image:https://travis-ci.org/ocaml/ocaml.svg?branch=4.11["TravisCI Build Status (4.11 branch)",
|
|
|
|
link="https://travis-ci.org/ocaml/ocaml"]
|
|
|
|
image:https://ci.appveyor.com/api/projects/status/github/ocaml/ocaml?branch=4.11&svg=true["AppVeyor Build Status (4.11 branch)",
|
|
|
|
link="https://ci.appveyor.com/project/avsm/ocaml"]
|
2019-11-08 14:51:40 -08:00
|
|
|
| image:https://travis-ci.org/ocaml/ocaml.svg?branch=4.10["TravisCI Build Status (4.10 branch)",
|
|
|
|
link="https://travis-ci.org/ocaml/ocaml"]
|
|
|
|
image:https://ci.appveyor.com/api/projects/status/github/ocaml/ocaml?branch=4.10&svg=true["AppVeyor Build Status (4.10 branch)",
|
|
|
|
link="https://ci.appveyor.com/project/avsm/ocaml"]
|
2017-05-14 09:36:39 -07:00
|
|
|
|=====
|
|
|
|
|
2015-09-22 01:32:46 -07:00
|
|
|
= README =
|
2015-09-22 01:02:23 -07:00
|
|
|
|
2016-05-29 09:37:00 -07:00
|
|
|
== Overview
|
1995-09-03 08:22:54 -07:00
|
|
|
|
2011-04-26 05:16:50 -07:00
|
|
|
OCaml is an implementation of the ML language, based on the Caml Light
|
2016-05-29 11:42:02 -07:00
|
|
|
dialect extended with a complete class-based object system and a powerful
|
|
|
|
module system in the style of Standard ML.
|
2011-04-26 05:16:50 -07:00
|
|
|
|
|
|
|
OCaml comprises two compilers. One generates bytecode which is then
|
2016-05-29 11:42:02 -07:00
|
|
|
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. 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 the
|
|
|
|
generated programs deliver excellent performance, 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
|
|
|
|
2019-04-05 08:31:20 -07:00
|
|
|
|====
|
|
|
|
| | Tier 1 (actively maintained) | Tier 2 (maintained when possible)
|
|
|
|
|
|
|
|
| x86 64 bits | Linux, macOS, Windows, FreeBSD | NetBSD, OpenBSD
|
|
|
|
| x86 32 bits | Linux, Windows | FreeBSD, NetBSD, OpenBSD
|
|
|
|
| ARM 64 bits | Linux | FreeBSD
|
|
|
|
| ARM 32 bits | Linux | FreeBSD, NetBSD, OpenBSD
|
|
|
|
| Power 64 bits | Linux |
|
|
|
|
| Power 32 bits | | Linux
|
2020-04-24 07:04:50 -07:00
|
|
|
| RISC-V 64 bits | Linux |
|
2019-04-05 08:31:20 -07:00
|
|
|
| IBM Z (s390x) | Linux |
|
|
|
|
|====
|
1995-09-03 08:22:54 -07:00
|
|
|
|
2016-05-29 11:42:02 -07:00
|
|
|
Other operating systems for the processors above have not been tested, but
|
|
|
|
the compiler may work under other operating systems with little work.
|
1995-09-03 08:22:54 -07:00
|
|
|
|
|
|
|
|
2016-05-29 09:37:00 -07:00
|
|
|
== Copyright
|
1995-09-03 08:22:54 -07:00
|
|
|
|
2020-08-29 07:48:36 -07:00
|
|
|
All files marked "Copyright INRIA" in this distribution are
|
|
|
|
Copyright (C) 1996-2020 Institut National de Recherche en Informatique et
|
|
|
|
en Automatique (INRIA) and distributed under the conditions stated in
|
|
|
|
file LICENSE.
|
1995-09-03 08:22:54 -07:00
|
|
|
|
2016-05-29 09:37:00 -07:00
|
|
|
== Installation
|
1995-09-03 08:22:54 -07:00
|
|
|
|
2016-07-15 18:15:34 -07:00
|
|
|
See the file link:INSTALL.adoc[] for installation instructions on
|
|
|
|
machines running Unix, Linux, OS X and Cygwin. For native Microsoft
|
|
|
|
Windows, see link:README.win32.adoc[].
|
1995-09-03 08:22:54 -07:00
|
|
|
|
2016-05-29 09:37:00 -07:00
|
|
|
== Documentation
|
1995-09-03 08:22:54 -07:00
|
|
|
|
2019-04-04 22:47:22 -07:00
|
|
|
The OCaml manual is distributed in HTML, PDF, and Emacs
|
2016-05-29 11:42:02 -07:00
|
|
|
Info files. It is available at
|
1995-09-03 08:22:54 -07:00
|
|
|
|
2020-04-05 03:00:00 -07:00
|
|
|
https://ocaml.org/releases/latest/manual.html
|
2015-09-22 01:32:46 -07:00
|
|
|
|
2016-05-29 09:37:00 -07:00
|
|
|
== Availability
|
1995-09-03 08:22:54 -07:00
|
|
|
|
2011-04-26 05:16:50 -07:00
|
|
|
The complete OCaml distribution can be accessed at
|
2001-02-06 07:24:00 -08:00
|
|
|
|
2020-04-05 03:00:00 -07:00
|
|
|
https://ocaml.org/docs/install.html
|
2001-02-06 07:24:00 -08:00
|
|
|
|
2016-05-29 09:37:00 -07:00
|
|
|
== Keeping in Touch with the Caml Community
|
1995-09-03 08:22:54 -07:00
|
|
|
|
2017-09-30 12:24:23 -07:00
|
|
|
The OCaml mailing list is the longest-running forum for OCaml users.
|
|
|
|
You can email it at
|
1995-09-03 08:22:54 -07:00
|
|
|
|
2015-09-22 01:02:23 -07:00
|
|
|
mailto:caml-list@inria.fr[]
|
1995-09-03 08:22:54 -07:00
|
|
|
|
2017-09-30 12:24:23 -07:00
|
|
|
You can subscribe and access list archives via the Web interface at
|
1995-09-03 08:22:54 -07:00
|
|
|
|
2015-09-22 01:02:23 -07:00
|
|
|
https://sympa.inria.fr/sympa/subscribe/caml-list
|
2001-03-30 04:21:32 -08:00
|
|
|
|
2020-04-05 03:00:00 -07:00
|
|
|
An alternative archive of the mailing list is also available at
|
|
|
|
|
|
|
|
https://inbox.ocaml.org/
|
|
|
|
|
2017-09-30 12:24:23 -07:00
|
|
|
You can also access a newer discussion forum at
|
1995-09-03 08:22:54 -07:00
|
|
|
|
2017-09-30 12:24:23 -07:00
|
|
|
https://discuss.ocaml.org/
|
1995-09-03 08:22:54 -07:00
|
|
|
|
2017-09-30 12:24:23 -07:00
|
|
|
There also exist other mailing lists, chat channels, and various other forums
|
|
|
|
around the internet for getting in touch with the OCaml and ML family language
|
|
|
|
community. These can be accessed at
|
2015-09-22 01:32:46 -07:00
|
|
|
|
2020-04-05 03:00:00 -07:00
|
|
|
https://ocaml.org/community/
|
2016-06-01 11:13:41 -07:00
|
|
|
|
2017-09-30 12:24:23 -07:00
|
|
|
In particular, the IRC channel `#ocaml` on https://freenode.net/[Freenode] has a
|
|
|
|
long history and welcomes questions.
|
2016-06-01 11:13:41 -07:00
|
|
|
|
2016-05-29 09:37:00 -07:00
|
|
|
== Bug Reports and User Feedback
|
1995-09-03 08:22:54 -07:00
|
|
|
|
2019-04-04 22:47:22 -07:00
|
|
|
Please report bugs using the issue tracker at
|
|
|
|
https://github.com/ocaml/ocaml/issues
|
1995-09-03 08:22:54 -07:00
|
|
|
|
2016-05-29 11:42:02 -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).
|
1995-09-03 08:22:54 -07:00
|
|
|
|
2016-12-28 06:55:40 -08:00
|
|
|
For information on contributing to OCaml, see link:HACKING.adoc[] and
|
2016-11-18 07:29:11 -08:00
|
|
|
link:CONTRIBUTING.md[].
|
2020-04-30 05:32:49 -07:00
|
|
|
|
|
|
|
== Separately maintained components
|
|
|
|
|
|
|
|
Some libraries and tools which used to be part of the OCaml distribution are
|
|
|
|
now maintained separately. Please use the issue trackers at their respective
|
|
|
|
new homes:
|
|
|
|
|
|
|
|
- https://github.com/ocaml/graphics/issues[The Graphics library] (removed in OCaml 4.09)
|
|
|
|
- https://github.com/ocaml/num/issues[The Num library] (removed in OCaml 4.06)
|
2020-04-30 05:38:52 -07:00
|
|
|
- https://github.com/ocaml/ocamlbuild/issues[The OCamlbuild tool] (removed in OCaml 4.03)
|
2020-04-30 05:32:49 -07:00
|
|
|
- https://github.com/camlp4/camlp4/issues[The camlp4 tool] (removed in OCaml 4.02)
|
|
|
|
- https://github.com/garrigue/labltk/issues[The LablTk library] (removed in OCaml 4.02)
|
|
|
|
- https://github.com/ocaml/dbm/issues[The CamlDBM library] (removed in OCaml 4.00)
|
|
|
|
- https://github.com/xavierleroy/ocamltopwin/issues[The OCamlWinTop Windows toplevel] (removed in OCaml 4.00)
|