github ocaml/ocaml 4.03.0
OCaml 4.03.0

latest releases: 5.2.0-rc1, 5.2.0-beta2, 5.2.0-beta1...
5 years ago
  • A new intermediate representation, called Flambda, was added to the
    native-code compiler, along with several new optimizations over the
    Flambda representation, such as aggressive function inlining. (The
    Flambda optimizer needs to be activated at configuration time by
    ./configure -flambda.)
  • New language feature: inline records as arguments to datatype
    constructors. This makes it possible to name the arguments of a
    constructor, and use convenient record notation to access them,
    without the cost of declaring a separate record type for the
    arguments.
  • The @unboxed and @untagged attributes are supported on external
    function declarations to pass parameters and results to C stub
    functions in a more efficient way. Other attributes honored by the
    compiler include @tailcall and @inline.
  • Improvements to the garbage collector, resulting in better GC
    latency (shorter GC pauses).
  • Support for ephemerons, a more general form of GC finalization of
    data structures.
  • The runtime system is now compiled at higher levels of C
    optimization, resulting in significant speedups for the bytecode
    interpreter.
  • New native code generators supporting the PowerPC 64-bit
    architecture (in big and little-endian modes) and the IBM zSystem
    architecture.
  • The whole code base (compilers, libraries and tools) is now licensed
    under the LGPL v2.1 with static linking exception.
  • The ocamlbuild compilation manager was split off and lives as an
    independent project.

See also: detailed list of changes.

Don't miss a new ocaml release

NewReleases is sending notifications on new releases.