The categorical abstract machine (CAM) is a model of computation for programs[1] that preserves the abilities of applicative, functional, or compositional style.
CAM is a transparent and sound mathematical representation for the languages of functional programming.
The main current implementation is OCaml, which added class inheritance and dynamic method dispatch to Caml the Categorical Abstract Machine Language.
One of the implementation approaches to functional languages is given by the machinery based on supercombinators, or an SK-machine, by D. Turner.
Syntax is based on de Bruijn’s notation, which overcomes the difficulties of using bound variables.