Opam Switches
This release is available as multiple OPAM switches:
- 4.07.1 — Official 4.07.1 release
- 4.07.1+32bit - Official 4.07.1 release compiled in 32-bit mode
- 4.07.1+afl — Official 4.07.1 release with afl-fuzz instrumentation
- 4.07.1+default-unsafe-string — Official 4.07.1 release without safe strings by default
- 4.07.1+flambda — Official 4.07.1 release with flambda activated
- 4.07.1+flambda+no-flat-float-arrays — Official 4.07.1 release with flambda activated and flat float arrays disabled
- 4.07.1+force-safe-string — Official 4.07.1 release with -safe-string enabled
- 4.07.1+fp — Official 4.07.1 release with frame-pointers
- 4.07.1+fp+flambda — Official 4.07.1 release with frame-pointers and flambda activated
What's new
This is a bug-fix release, please consult the changelog.
Source distribution
- Source tarball (.tar.gz) for compilation under Unix (including Linux and MacOS X) and Microsoft Windows (including Cygwin).
- Also available in .zip format.
- OPAM is a source-based distribution of OCaml and many companion libraries and tools. Compilation and installation are automated by powerful package managers.
- The official development repo is hosted on GitHub.
The INSTALL file of the distribution provides detailed compilation and installation instructions -- see also the Windows release notes for instructions on how to build under Windows.
Alternative Compilers
Additionally, the following projects allow you to compile OCaml code to targets traditionally associated with other languages:
- Js_of_ocaml is a stable OCaml to JavaScript compiler.
- Bucklescript is a newer OCaml to JavaScript compiler. See the comparison to Js_of_ocaml. Bucklescript may take some time to be compatible with the latest release of OCaml.
- OCaml-java is a stable OCaml to Java compiler.
User's manual
The user's manual for OCaml can be:
- browsed online,
- downloaded as a single PostScript, PDF, or plain text document,
- downloaded as a single TAR or ZIP archive of HTML files,
- downloaded as a single tarball of Emacs info files,
Changes
This is the changelog.
(Changes that can break existing programs are marked with a "*")
Bug fixes:
- MPR#7815, GPR#1896: major GC crash with first-fit policy (Stephen Dolan and Damien Doligez, report by Joris Giovannangeli)
- MPR#7818, GPR#2051: Remove local aliases in functor argument types, to prevent the aliasing of their target. (Jacques Garrigue, report by mandrykin, review by Leo White)
-
MPR#7820, GPR#1897: Fix Array.of_seq. This function used to apply a circular permutation of one cell to the right on the sequence. (Thierry Martinez, review by Nicolás Ojeda Bär)
-
MPR#7821, GPR#1908: make sure that the compilation of extension constructors doesn't cause the compiler to load more cmi files (Jérémie Dimino)
-
MPR#7824, GPR#1914: subtype_row: filter out absent fields when row is closed (Leo White and Thomas Refis, report by talex, review by Jacques Garrigue)
-
GPR#1915: rec_check.ml is too permissive for certain class declarations. (Alban Reynaud with Gabriel Scherer, review by Jeremy Yallop)
-
MPR#7833, MPR#7835, MPR#7822, GPR#1997: Track newtype level again (Leo White, reports by Jerome Simeon, Thomas Refis and Florian Angeletti, review by Jacques Garrigue)
-
MPR#7838: -principal causes assertion failure in type checker (Jacques Garrigue, report by Markus Mottl, review by Thomas Refis)