The OCaml system, release 4.12

‍The OCaml system
release 4.12
Documentation and user’s manual
Xavier Leroy,
Damien Doligez, Alain Frisch, Jacques Garrigue, Didier Rémy and Jérôme Vouillon
February ‍24, 2021
‍ Copyright © 2021 Institut National de Recherche en Informatique et en Automatique

> This manual is also available in PDF, plain text, as a bundle of HTML files, and as a bundle of Emacs Info files.

- Contents
- Foreword

# Part ‍I An introduction to OCaml

- Chapter ‍1 The core language
- Chapter ‍2 The module system
- Chapter ‍3 Objects in OCaml
- Chapter ‍4 Labels and variants
- Chapter ‍5 Polymorphism and its limitations
- Chapter ‍6 Advanced examples with classes and modules

# Part ‍II The OCaml language

- Chapter ‍7 The OCaml language
- Chapter ‍8 Language extensions

# Part ‍III The OCaml tools

- Chapter ‍9 Batch compilation (ocamlc)
- Chapter ‍10 The toplevel system or REPL (ocaml)
- Chapter ‍11 The runtime system (ocamlrun)
- Chapter ‍12 Native-code compilation (ocamlopt)
- Chapter ‍13 Lexer and parser generators (ocamllex, ocamlyacc)
- Chapter ‍14 Dependency generator (ocamldep)
- Chapter ‍15 The documentation generator (ocamldoc)
- Chapter ‍16 The debugger (ocamldebug)
- Chapter ‍17 Profiling (ocamlprof)
- Chapter ‍18 Interfacing C with OCaml
- Chapter ‍19 Optimisation with Flambda
- Chapter ‍20 Fuzzing with afl-fuzz
- Chapter ‍21 Runtime tracing with the instrumented runtime

# Part ‍IV The OCaml library

- Chapter ‍22 The core library
- Chapter ‍23 The standard library
- Chapter ‍24 The compiler front-end
- Chapter ‍25 The unix library: Unix system calls
- Chapter ‍26 The str library: regular expressions and string processing
- Chapter ‍27 The threads library
- Chapter ‍28 The dynlink library: dynamic loading and linking of object files
- Chapter ‍29 Recently removed or moved libraries (Graphics, Bigarray, Num, LablTk)

# Part ‍V Indexes

- Index of modules
- Index of module types
- Index of types
- Index of exceptions
- Index of values

- Index of keywords

> This document was translated from LATEX by HEVEA.