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]. Last updated: 2003-04-12