Skip to content
The core OCaml system: compilers, runtime system, base libraries
Branch: trunk
Clone or download
dra27 Drop dependency utils/config.ml <-- Makefile
The recipe is trivial, so the dependency promotes unnecessary rebuilding.
Latest commit 1fd3ddf Jun 16, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
asmcomp Merge pull request #8712 from stedolan/infix-tag-dummy Jun 5, 2019
boot multi-indices for extended indexing operators May 13, 2019
build-aux Fixing typos in various files (#2246) Feb 13, 2019
bytecomp Add error handling when finding and copying the camlheader file. Jun 10, 2019
compilerlibs add a file in compilerlibs to make git happy Feb 19, 2016
debugger Build system: make ocamllex silent by default (#8664) May 7, 2019
driver Fixing misspellings May 21, 2019
file_formats Remove Misc.may_map and similar May 23, 2019
flexdll @ 7f565ef Update FlexDLL to 0.37 Oct 25, 2017
lambda Update Change file Jun 11, 2019
lex Build system: make ocamllex silent by default (#8664) May 7, 2019
man Be more explicit about the default value of DESTDIR May 2, 2019
manual Fixing misspellings May 21, 2019
middle_end Merge pull request #8692 from lpw25/remove-may-map May 24, 2019
ocamldoc Remove Misc.may_map and similar May 23, 2019
ocamltest
otherlibs Use [caml_something_to_do] both in native and bytecode mode to rememb… Jun 6, 2019
parsing Remove Misc.may_map and similar May 23, 2019
runtime Merge pull request #8691 from jhjourdan/no_callback_c_alloc Jun 11, 2019
stdlib Fix Option.bind doc comment Jun 15, 2019
testsuite Fix PR8701 by expanding types in lower_contravariant (#8725) Jun 13, 2019
tools more fixes for release-checklist Jun 14, 2019
toplevel Move some code from Asmgen to the middle end directory etc. (#2288) May 10, 2019
typing Fix PR8701 by expanding types in lower_contravariant (#8725) Jun 13, 2019
utils Remove Misc.may_map and similar May 23, 2019
yacc Fixing typos in various files (#2246) Feb 13, 2019
.depend Move some code from Asmgen to the middle end directory etc. (#2288) May 10, 2019
.depend.menhir add a .depend.menhir file for menhir parser dependencies Sep 1, 2018
.gitattributes build system: remove the config/ directory Jun 10, 2019
.gitignore Avoid rebuilding the world when files containing primitives change. May 27, 2019
.gitmodules clean up whitespace and cut long lines Feb 17, 2016
.mailmap adding Jeremy Yallop to the list of Approvers Mar 25, 2019
.ocp-indent Adding an ocp-indent customization file for the project. Sep 11, 2013
.travis.yml Switch Travis to Xenial Apr 2, 2019
BOOTSTRAP.adoc Merge the asmrun and byterun directories into the runtime directory Jun 28, 2018
CONTRIBUTING.md Update CONTRIBUTING.md Mar 25, 2019
Changes fix typo in Changes entry #1711 Jun 14, 2019
HACKING.adoc build system: remove the config/ directory Jun 10, 2019
INSTALL.adoc build system: remove the config/ directory Jun 10, 2019
LICENSE Update the LICENSE file to reflect new licensing conditions (LGPLv2.1) May 14, 2016
Makefile Drop dependency utils/config.ml <-- Makefile Jun 16, 2019
Makefile.common.in Build system: make ocamllex silent by default (#8664) May 7, 2019
Makefile.config.in build system: remove the config/ directory Jun 10, 2019
Makefile.menhir Makefile.menhir enhancement Jan 10, 2019
Makefile.tools testsuite: remove dead code Jun 11, 2019
News Fixing misspellings May 21, 2019
README.adoc README.adoc: use a table to display supported architectures Apr 5, 2019
README.win32.adoc Update README.win32.adoc May 6, 2019
VERSION first commit after branching 4.09 Apr 23, 2019
aclocal.m4 configure: fix libunwind and spacetime support May 20, 2019
appveyor.yml Split the AppVeyor build into two jobs Sep 7, 2018
autogen Remove GNUism from autogen May 1, 2019
configure Fix --with-pic in configure (#8632) May 21, 2019
configure.ac Use AC_PREREQ to force Autoconf 2.69 Jun 11, 2019
dune dune: disable warning 40 May 6, 2019
dune-project Provide a way to build the bytecode compiler using Dune (#2093) Oct 10, 2018
ocaml-variants.opam update local opam file to 4.10 May 8, 2019

README.adoc

Branch trunk Branch 4.08 Branch 4.07 Branch 4.06 Branch 4.05

TravisCI Build Status (trunk branch) AppVeyor Build Status (trunk branch)

TravisCI Build Status (4.08 branch) AppVeyor Build Status (4.08 branch)

TravisCI Build Status (4.07 branch) AppVeyor Build Status (4.07 branch)

TravisCI Build Status (4.06 branch) AppVeyor Build Status (4.06 branch)

TravisCI Build Status (4.05 branch) AppVeyor Build Status (4.05 branch)

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 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

IBM Z (s390x)

Linux

Other operating systems for the processors above have not been tested, but the compiler may work under other operating systems with little work.

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, 2017, 2018, 2019 Institut National de Recherche en Informatique et en Automatique (INRIA) and distributed under the conditions stated in file LICENSE.

Installation

See the file INSTALL.adoc for installation instructions on machines running Unix, Linux, OS X and Cygwin. For native Microsoft Windows, see README.win32.adoc.

Documentation

The OCaml manual is distributed in HTML, PDF, and Emacs Info files. It is available at

Availability

The complete OCaml distribution can be accessed at

Keeping in Touch with the Caml Community

The OCaml mailing list is the longest-running forum for OCaml users. You can email it at

You can subscribe and access list archives via the Web interface at

You can also access a newer discussion forum at

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

In particular, the IRC channel #ocaml on Freenode has a long history and welcomes questions.

Bug Reports and User Feedback

Please report bugs using the issue tracker at https://github.com/ocaml/ocaml/issues

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).

For information on contributing to OCaml, see HACKING.adoc and CONTRIBUTING.md.

You can’t perform that action at this time.