OCaml 4.01.0

Licence d'utilisation

Le système OCaml est un logiciel libre : le compilateur est publié sous licence "Q Public License", et sa bibliothèque sous licence LGPL modifiée. Lire la licence pour plus de détails. Une licence du type BSD peut aussi être obtenue via l'inscription au Consortium Caml.

Cette page décrit la version 4.01.0 d'OCaml, publiée le 12 septembre 2013

Les nouveautés dans 4.01

Voici les principales nouveautés dans la version 4.01 :

  • It is now possible to have several variant constructors or record fields of the same name in scope, and type information will be used to disambiguate which one is used -- instead of always using the last one. See this post for a more detailed description of the feature.

  • New warnings can be activated to warn about identifiers that are used after having been shadowed by an open construct. The open keyword can be written open! to silence this warning (as method! silences the method warning).

  • The compiler now suggests possible typos on "unbound identifier" errors.

  • Infix application operators (|>) and (@@) are added to Pervasives.

  • The -short-path option changes the way the type-checker prints types to pick a short representation (eg. string instead of StringSet.elt).

  • This release saw a lot of polishing with sets of changes in many places: the type system for GADTs, compilation speed with -bin-annot, ocamlbuild, the test suite, low-level optimizations, etc.

For more information, please consult the comprehensive list of changes.

Obtenir les sources

  • Source tarball (.tar.gz) for compilation under Unix (including Linux and MacOS X) and Microsoft Windows (including Cygwin).
  • Also available in .tar.xz format.
  • OPAM is a source-based distribution of OCaml and many companion libraries and tools. Compilation and installation are automated by powerful package managers.
  • You also have read-only SVN access to the working sources and to all previous public releases.

Compilateurs OCaml alternatifs

Additionally, the following projects allow you to compile OCaml code to targets traditionally associated with other languages:

Manuel de référence

The user's manual for OCaml can be: