☰
The OCaml system
release 5.5
June, 2026
This manual is also available in
PDF
,
plain text
, as a
bundle of HTML files
, and as a
bundle of Emacs Info files
.
Select another version
The OCaml Manual
Contents
Foreword
Index of keywords
OCaml API
OCaml Compiler API
Contents
Foreword
I.
An introduction to OCaml
1.
The core language
2.
The module system
3.
Objects in OCaml
4.
Labeled arguments
5.
Polymorphic variants
6.
Polymorphism and its limitations
7.
Generalized algebraic datatypes
8.
Advanced examples with classes and modules
9.
Parallel programming
10.
Memory model: The hard bits
II.
The OCaml language
11.
The OCaml language
12.
Language extensions
III.
The OCaml tools
13.
Batch compilation (ocamlc)
14.
The toplevel system or REPL (ocaml)
15.
The runtime system (ocamlrun)
16.
Native-code compilation (ocamlopt)
17.
Lexer and parser generators (ocamllex, ocamlyacc)
18.
Dependency generator (ocamldep)
19.
The documentation generator (ocamldoc)
20.
The debugger (ocamldebug)
21.
Native debugging (gdb, lldb)
22.
Profiling (ocamlprof, perf)
23.
Interfacing C with OCaml
24.
Optimisation with Flambda
25.
Fuzzing with afl-fuzz
26.
Runtime tracing with runtime events
27.
The “Tail Modulo Constructor” program transformation
28.
Runtime detection of data races with ThreadSanitizer
IV.
The OCaml library
29.
The core library
30.
The standard library
31.
The compiler front-end
32.
The unix library: Unix system calls
33.
The str library: regular expressions and string processing
34.
The runtime_events library
35.
The threads library
36.
The dynlink library: dynamic loading and linking of object files
37.
Recently removed or moved libraries (Graphics, Bigarray, Num, LablTk)
V.
Indexes
Index of modules
Index of module types
Index of types
Index of exceptions
Index of values
Index of keywords
Xavier Leroy,
Damien Doligez, Alain Frisch, Jacques Garrigue, Didier Rémy and Jérôme Vouillon
Copyright © 2026 Institut National de Recherche en Informatique et en Automatique