An Overview of C-alpha-ml

François Pottier. An Overview of C-alpha-ml. Electronic Notes in Theoretical Computer Science, 148(2):27-52, 2006. [doi]

Abstract

Cαml is a tool that turns a so-called “binding specification” into an Objective Caml compilation unit. A binding specification resembles an algebraic data type declaration, but also includes information about names and binding. Cαml is meant to help writers of interpreters, compilers, or other programs-that-manipulate-programs deal with α-conversion in a safe and concise style. This paper presents an overview of Cαml’s binding specification language and of the code that Cαml produces.