from
The Free On-line Dictionary of Computing (8 July 2008)
Categorical Abstract Machine Language
<language> (Originally "CAML" - Categorical Abstract Machine
Language) A version of {ML} by G. Huet, G. Cousineau, Ascander
Suarez, Pierre Weis, Michel Mauny and others of {INRIA} and
{ENS}. CAML is intermediate between {LCF ML} and {SML} [in
what sense?]. It has {first-class} functions, {static type
inference} with {polymorphic} types, user-defined {variant
types} and {product types}, and {pattern matching}. It is
built on a proprietary run-time system.
The CAML V3.1 implementation added {lazy} and {mutable} data
structures, a "{grammar}" mechanism for interfacing with the
{Yacc} {parser generator}, {pretty-printing} tools,
high-performance {arbitrary-precision} arithmetic, and a
complete library. CAML V3 is often nicknamed "heavy CAML",
because of its heavy memory and CPU requirements compared to
{Caml Light}.
in 1990 Xavier Leroy and Damien Doligez designed a new
implementation called {Caml Light}, freeing the previous
implementation from too many experimental high-level features,
and more importantly, from the old Le_Lisp back-end.
Following the addition of a {native-code} compiler and a
powerful {module} system in 1995 and of the {object} and
{class} layer in 1996, the project's name was changed to
{Objective Caml}.
["The CAML Reference Manual", P. Weis et al, TR INRIA-ENS,
1989].
(2003-04-12)