Categorical Abstract Machine Language

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 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].
This article is provided by FOLDOC - Free Online Dictionary of Computing (foldoc.org)
Mentioned in
Copyright © 2003-2025 Farlex, Inc Disclaimer
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional.