Camlp5 is a Pre-Processor-Pretty-Printer for OCaml. It offers syntactic tools (parsers, extensible grammars), the ability to extend the concrete syntax of OCaml (quotations, syntax extensions), and to redefine it from scratch. This is an advanced tool and should not be used by those new to OCaml.
Unfortunately, there is some confusion between the names Camlp4 and Camlp5. There are currently two distinct systems with these names. Camlp4 is part of the standard OCaml distribution and Camlp5 is distributed separately. The unfortunate part is that what is now called Camlp5 was formerly known as Camlp4, but what is currently called Camlp4 is unrelated to the former Camlp4 (in terms of implementation, both have the same purpose).
- Camlp5 Tutorial (by Martin Jambon), on how to use the Camlp5 processor.
- Camlp5 Tutorial (by Daniel de Rauglaudre). The title of the tutorial says Camlp4 but that is because it was written prior to the name change.
- Camlp5 Reference Manual (by Daniel de Rauglaudre). The title of the manual says Camlp4 but that is because it was written prior to the name change.