This document is intended as a reference manual for the Objective Caml
language. It lists the language constructs, and gives their precise
syntax and informal semantics. It is by no means a tutorial
introduction to the language: there is not a single example. A good
working knowledge of Caml is assumed.
No attempt has been made at mathematical rigor: words are employed
with their intuitive meaning, without further definition. As a
consequence, the typing rules have been left out, by lack of the
mathematical framework required to express them, while they are
definitely part of a full formal definition of the language.
Notations
The syntax of the language is given in BNF-like notation. Terminal
symbols are set in typewriter font (likethis).
Non-terminal symbols are set in italic font (likethat).
Square brackets [...] denote optional components. Curly brackets
{...} denotes zero, one or several repetitions of the enclosed
components. Curly bracket with a trailing plus sign {...}^{+}
denote one or several repetitions of the enclosed components.
Parentheses (...) denote grouping.