Categorical Abstract Machine Language

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)
    

[email protected]