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.