← All languages

OCaml

ML family · 1996Actively developed

ML-family programming with inference, algebraic types and native compilation.

Procedural · Functional · Object-oriented

Homepage
https://ocaml.org/
Reference / standard
https://ocaml.org/docs
Wikipedia (English)
https://en.wikipedia.org/wiki/OCaml

Tracked release

Version
5.5.1
Artifact
Compiler / runtime
Published
2026-09-05
Source checked
2026-10-22
https://ocaml.org/releases/5.5.1

Use & ecosystem

Suited for
Web backends, CLI tools / automation, Symbolic / logic programming
Family / tradition
Functional / ML / lazy
Maturity
Established
Ecosystem breadth
Focused

A stable toolchain and sustained use by independent industrial organizations justify Established. Library and hiring reach remain specialized compared with broad application ecosystems.

Industry & practical use

Compilers, program analysis, financial systems and service infrastructure are important uses. Industrial adoption is real without being uniform across application domains.

Compilers, libraries & tooling

OCaml provides native and bytecode compilers, opam packages and Dune builds. PPX syntax extensions are a separate tooling layer, so macros are classified Partial.

Platforms & deployment

General toolchains
Linux, Windows, macOS
Specialized tooling
Browser
Browser execution
JavaScript
Native cross-compilation
Restricted / involved

Native toolchains cover major desktop/server systems. js_of_ocaml provides a specialized browser compilation route with runtime and library constraints.

Native cross-builds require target-specific toolchain setup; portable bytecode and JavaScript output are different deployment models.

Project health & support

Inria, the OCaml Software Foundation and industrial contributors provide several sources of support. Compiler transitions and package compatibility still require planning.

Use, ecosystem & platform assessment reviewed 2026-10-22 · Sources below

History & origin

OCaml appeared in 1996 as an extension of the Caml lineage at Inria. It combines the ML module and type tradition with objects and a practical native-code compiler.

Creators
Xavier Leroy, Didier Rémy, Jérôme Vouillon, Damien Doligez, Inria
Origin
1996 — First Objective Caml release.

Influences & descendants

Influenced by

  • Not yet documented in this catalogue.

Influenced in this catalogue

Language features

Typing
Static
Execution
AOT, Bytecode VM
Block structure
Explicit delimiters
Semicolons
Context-dependent
Lexical closures
Yes
Namespaced modules
Yes
Pattern matching
Yes
Macro system
PPX syntax rewriting via external tooling

Implementation notes

  • Semicolons sequence expressions; double semicolons delimit interactive phrases. Neither means that every declaration needs a terminator.

Sources & references

Project overview
https://ocaml.org/
Language / implementation reference
https://ocaml.org/docs
Syntax extensions and PPX
https://ocaml.org/manual/5.5/extensionsyntax.html

Use, ecosystem & platform sources

Project overview
https://ocaml.org/
Language / implementation reference
https://ocaml.org/docs

See the classification definitions for implementation-dependent features. Influence links cover the entries documented here.