Caml (originally an acronym for Categorical Abstract Machine Language) is a dialect of the ML programming language family, developed at INRIA and formerly at ENS.
Like all descendants of ML, Caml is statically typed, strictly evaluated, and uses automatic memory management.
The first Caml implementation in Lisp was nicknamed "Heavy CAML" because of its memory and CPU requirements relative to its successor Caml Light which was implemented in C by ...
more
Caml (originally an acronym for Categorical Abstract Machine Language) is a dialect of the ML programming language family, developed at INRIA and formerly at ENS.
Like all descendants of ML, Caml is statically typed, strictly evaluated, and uses automatic memory management.
The first Caml implementation in Lisp was nicknamed "Heavy CAML" because of its memory and CPU requirements relative to its successor Caml Light which was implemented in C by Xavier Leroy and Damien Doligez. In addition to a complete rewriting, CAML Special Light added a powerful (applicative) module system to the core language.
Currently, the main implementation of Caml is Objective Caml, which adds many new features to the language including an object layer.
In the following, # represents the OCaml prompt.
Many mathematical functions, such as factorial, are most naturally represented in a purely functional form. The following recursive, purely functional Caml function implements factorial:
The function can be...
less