131 lines
5.1 KiB
Plaintext
131 lines
5.1 KiB
Plaintext
|=====
|
|
| Branch `trunk` | Branch `4.06` | Branch `4.05` | Branch `4.04`
|
|
|
|
| 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"]
|
|
| image:https://travis-ci.org/ocaml/ocaml.svg?branch=4.06["TravisCI Build Status (4.06 branch)",
|
|
link="https://travis-ci.org/ocaml/ocaml"]
|
|
image:https://ci.appveyor.com/api/projects/status/github/ocaml/ocaml?branch=4.06&svg=true["AppVeyor Build Status (4.06 branch)",
|
|
link="https://ci.appveyor.com/project/avsm/ocaml"]
|
|
| image:https://travis-ci.org/ocaml/ocaml.svg?branch=4.05["TravisCI Build Status (4.05 branch)",
|
|
link="https://travis-ci.org/ocaml/ocaml"]
|
|
image:https://ci.appveyor.com/api/projects/status/github/ocaml/ocaml?branch=4.05&svg=true["AppVeyor Build Status (4.05 branch)",
|
|
link="https://ci.appveyor.com/project/avsm/ocaml"]
|
|
| image:https://travis-ci.org/ocaml/ocaml.svg?branch=4.04["TravisCI Build Status (4.04 branch)",
|
|
link="https://travis-ci.org/ocaml/ocaml"]
|
|
image:https://ci.appveyor.com/api/projects/status/github/ocaml/ocaml?branch=4.04&svg=true["AppVeyor Build Status (4.04 branch)",
|
|
link="https://ci.appveyor.com/project/avsm/ocaml"]
|
|
|
|
|=====
|
|
|
|
= README =
|
|
|
|
== Overview
|
|
|
|
OCaml 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.
|
|
|
|
OCaml comprises two compilers. One generates bytecode 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. 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:
|
|
|
|
Tier 1 (actively used and maintained by the core OCaml team):
|
|
|
|
AMD64 (Opteron):: Linux, OS X, MS Windows
|
|
IA32 (Pentium):: Linux, FreeBSD, OS X, MS Windows
|
|
PowerPC:: Linux, OS X
|
|
ARM:: Linux
|
|
|
|
Tier 2 (maintained when possible, with help from users):
|
|
|
|
AMD64:: FreeBSD, OpenBSD, NetBSD
|
|
IA32 (Pentium):: NetBSD, OpenBSD, Solaris 9
|
|
PowerPC:: NetBSD
|
|
ARM:: NetBSD
|
|
|
|
Other operating systems for the processors above have not been tested, but
|
|
the compiler may work under other operating systems with little work.
|
|
|
|
Before the introduction of objects, OCaml was known as Caml Special Light.
|
|
OCaml is almost upwards compatible with Caml Special Light, except for a few
|
|
additional reserved keywords that have forced some renaming of standard
|
|
library functions.
|
|
|
|
== Copyright
|
|
|
|
All files marked "Copyright INRIA" in this distribution are copyright 1996,
|
|
1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
|
|
2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Institut National de
|
|
Recherche en Informatique et en Automatique (INRIA) and distributed under
|
|
the conditions stated in file LICENSE.
|
|
|
|
== Installation
|
|
|
|
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[].
|
|
|
|
== Documentation
|
|
|
|
The OCaml manual is distributed in HTML, PDF, Postscript, DVI, and Emacs
|
|
Info files. It is available at
|
|
|
|
http://caml.inria.fr/pub/docs/manual-ocaml/
|
|
|
|
== Availability
|
|
|
|
The complete OCaml distribution can be accessed at
|
|
|
|
http://ocaml.org/docs/install.html
|
|
|
|
== Keeping in Touch with the Caml Community
|
|
|
|
The OCaml mailing list is the longest-running forum for OCaml users.
|
|
You can email it at
|
|
|
|
mailto:caml-list@inria.fr[]
|
|
|
|
You can subscribe and access list archives via the Web interface at
|
|
|
|
https://sympa.inria.fr/sympa/subscribe/caml-list
|
|
|
|
You can also access a newer discussion forum at
|
|
|
|
https://discuss.ocaml.org/
|
|
|
|
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
|
|
|
|
http://ocaml.org/community/
|
|
|
|
In particular, the IRC channel `#ocaml` on https://freenode.net/[Freenode] has a
|
|
long history and welcomes questions.
|
|
|
|
== Bug Reports and User Feedback
|
|
|
|
Please report bugs using the Web interface to the bug-tracking system at
|
|
http://caml.inria.fr/bin/caml-bugs
|
|
|
|
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).
|
|
|
|
You can also contact the implementors directly at mailto:caml@inria.fr[].
|
|
|
|
For information on contributing to OCaml, see link:HACKING.adoc[] and
|
|
link:CONTRIBUTING.md[].
|