OCaml is a functional, imperative, modular, and object-oriented general-purpose programming language, derived from the ML (Meta Language) language family.

OCaml 5.0.0 has been officially released recently. The main update highlight is the introduction of a new runtime environment that supports shared memory parallelism and effect handlers.

The so-called shared memory parallelism refers to Multicore OCaml. It adds support for parallel shared memory through domains and direct-style concurrency through effect handlers (no syntax support). Multicore OCaml is also intended to be backwards compatible – including language features, C API, and performance aspects of single-threaded code.

Since OCaml 5 the OCaml runtime environment has been completely rewritten. Therefore, OCaml 5.0.0 is a more experimental version of OCaml than the regular OCaml version. The official announcement says that OCaml 5.0.0 is compatible with OCaml 4, and code that works with OCaml 4 should also work with OCaml 5. The currently known exceptions are:

  • Removed many deprecated functions and modules
  • Changed the internal runtime API
  • The performance of ephemerons is currently severely degraded

In this release, the native compiler only supports x86-64 and arm64 architectures. In terms of operating systems, mingw64 on Linux, BSD, macOS and Windows is supported. The team says it plans to restore support for most previously supported architectures and operating systems, and resolve remaining known issues within the next year.

As OCaml 5 matures, the OCaml 4.14 branch will be maintained with regular backports of bug fixes from the OCaml 5 branch. The next release from the OCaml 4.14 fork, OCaml 4.14.1, should soon follow OCaml 5.

Download address: https://github.com/ocaml/ocaml/releases/tag/5.0.0

#OCaml #Officially #Released #News Fast Delivery

Leave a Comment

Your email address will not be published. Required fields are marked *