OCaml
ML family · 1996Actively developedML-family programming with inference, algebraic types and native compilation.
Procedural · Functional · Object-oriented
Links
- 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
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.