(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 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].