About Lambdoc

Lambdoc is a library providing support for semantically rich documents in web applications, built with Ocsigen/Eliom integration in mind. It includes parsers for four different markup languages: Lambtex, Lambwiki, Lambxml, and Markdown (via OMD). The library also includes the possibility of outputing any Lambdoc document as an Ocsigen (Tyxml) HTML5 value.

Additional capabilities include the runtime customisation of available document features (you may, for example, declare that a certain class of users is only allowed to produce documents containing nothing more than paragraphs of plain text), detailed error messages, and the definition of basic macros. Particularly of note is a powerful extension mechanism that allows the definition of custom commands tailored to a particular application. It also ships with lambcmd, a CLI application that allows the conversion between any of the input formats into one of the supported output targets.

Lambdoc is developed by Dario Teixeira and is licensed under the terms of the GNU GPL 2.0.


Lambdoc has the following dependencies. All of these are available via OPAM:

Downloads and development

Lambdoc is distributed in source-code form. You can get all releases from the project's page at GitHub or the OCaml Forge. The latest version is Lambdoc 1.0-beta3, released on 2015-03-27.

Bulding and Installing

The build system relies on OASIS. The customary sequence of ./configure, make, and make install is used to build and install the library and the lambcmd CLI application. Run make doc to generate the API documentation.


The manuals for Lambtex and Lambwiki are available online.