Home

Awesome

Camlp5

Camlp5 is a preprocessor-pretty-printer of OCaml.

It is compatible with all versions of OCaml from 4.05.0 thru 4.14.0. Previous versions of Camlp5 have supported OCaml versions down to 1.07 and jocaml 3.12.0 to 3.12.1, but this version cuts off support at 4.05.0. Camlp5 is heavily tested with OCaml versions from 4.10.0 forward, with an extensive and ever-growing testsuite.

This Camlp5 version is 8.03.01. NOTE WELL that this is an new release (very different from the 7.xx releases), and as such, may break your code. If it does, please do reach out to me, and I'll be happy to help upgrade it. I'm still working on the documentation, but .... that could take a while, so I figured I had better get this out and find out where code breaks, so I can fix that.

Documentation: Installation, Testsuite, Tutorial

Since most OCaml users will install Camlp5 via opam, all the documentation has been moved over to Sphinx/RST, and is available in doc/rst/_build as well as on ReadTheDocs.

Some tutorials are provided in both original and revised syntax: eventually all will be provided in both forms.

Outdated HTML Documentation

The directory doc/htmlp contains the sources of outdated HTML documentation. It will be removed once the Sphinx documentation is fully updated.

To build it, cd doc/htmlp, and:

Problems

If you have problems compiling your source files with this version of Camlp5, please contact me (Chet Murthy chetsky@gmail.com) and I'll help you resolve them. I can't promise, but it's likely I can just fork your repo, fix the problem, and send you a PR.

For really old code, the reason can be that there the new type 'location' is now abstract. Consider looking at the file UPGRADING.

Author(s)

Originally written by Daniel de Rauglaudre daniel.roglo@free.fr. Maintenance and upgrades by Chet Murthy chetsky@gmail.com.

All bugs are my (Chet's) fault, all good ideas are Daniel's.