Libmarpa Resources

The Libmarpa API document (HTML).

The Libmarpa API document (one-page HTML).

The Libmarpa API document (PDF).

Other Resources

Jeffrey Kegler's website


The main web site for Marpa

The Ocean of Awareness blog: home page, chronological index, and annotated index.

Distribution: CPAN | MetaCPAN

Mailing List (quite active):

Code repository: github

About Libmarpa

Libmarpa is the C language library that implements the parse engine at the core of Marpa. It is used by Marpa::R2, the Perl CPAN module, but it is completely separate, and resides in its own github repo.

Installing Libmarpa

These instructions desribe how to install the separate Libmarpa. Unless reading Libmarpa is your only interest, you'll also want to install Marpa::R2. All of Libmarpa's tests are in Marpa::R2, and you really do not want to work with Libmarpa without the ability to test it on your configuration. To install Libmarpa:


In reading and working with Libmarpa, the following documents will be useful:

Working on Libmarpa

I worked hard to limit the prerequisites needed to configure, compile and run Libmarpa. Working on Libmarpa's internals is another matter. Libmarpa is literate programming -- and work on Libmarpa's internals requires, among other things, Knuth's CWeb and therefore Tex.

Libmarpa is highly mathematical code. Its internals are, frankly, daunting. For me, Marpa has a real beauty, but nobody could claim it achieves that beauty through simplicity. I once had hopes that reading Marpa would be like experiencing the effortless power of a late Picasso. But Angkor Wat and Hieronymous Bosch show that beauty comes in many forms.