github.com/ocaml/ocaml

The core OCaml system: compilers, runtime system, base libraries

Open this visualization on its own page →

Contributors

283

Lines of Code

89,243

From

1995-05-04

To

2021-01-07

About ocaml/ocaml

This is the official OCaml compiler and runtime system repository, containing everything needed to develop OCaml programs. OCaml is a functional, statically-typed programming language from the ML family that combines a powerful module system with a feature-rich object-oriented layer. The project maintains two distinct compilers: one that generates portable bytecode interpreted by a C runtime, offering fast compilation and compact code; and another that produces native machine code for various processor architectures including x86-64, ARM64, PowerPC, RISC-V, and IBM Z.

OCaml 5.0 and later versions introduced major changes to the runtime system, including support for shared-memory parallel programming through domains and native concurrent programming via effect handlers. The 4.14 branch continues to receive maintenance for users who have not yet migrated to the newer architecture. The native-code compiler supports multiple platforms across different tiers of maintenance, with x86-64 Linux, macOS, Windows, and FreeBSD being actively supported, while ARM and other architectures receive varying levels of support.

The repository includes compilers, the runtime system, and base libraries, all distributed under INRIA's license. Beyond the core implementation, the project maintains extensive documentation in multiple formats and coordinates with a large community through discussion forums, mailing lists, and IRC channels. Some libraries and tools historically included in OCaml have been extracted into separately maintained packages available through opam, the OCaml package manager.

Share this video