/ Lp4all


Lp4all is a modern and efficient yet simple literate programming tool. According to Wikipedia, Literate programming is the writing of computer programs primarily for human beings to read, similar to a work of literature; hence the name literate programming. This contrasts with the traditional view that a programmer's primary creation is source code to be read by a computer.

Lp4all allows to document your code directly inside the language comments, using a simple Wiki-like syntax. It then generates an HTML browsable version of your code and documentation.

Lp4all is similar to the traditionnal Noweb literate programming tool, except that:

  • Noweb uses a special file markup to mix source code and documentation. Source files must be generated from the Noweb sources. It works great when one uses a simple text-editor to edit his code source. However, it doesn't work when one must use a specific third-party editor to edit the source code. In Lp4all, documentation is stored in the comments of the language: the original source code is still directly usable by the language compiler;
  • Noweb uses a LaTeX syntax, Lp4all uses a Wiki syntax.

Lp4all is neither a clone of Doxygen because Doxygen is only an API documentation system, while Lp4all is really intended to fully document your source code. Moreover, Lp4all is language-agnostic: it doesn't know anything about functions, methods, constants or classes.


Hum. This webpage itself is the root of Lp4all documentation. You're currently browsing a live screenshot. It's so cool ;-)


Lp4all is distributed under the terms of the GNU General Public License version 2 or later.

The latest version, released on the 9th of February, 2007, is 0.9.3. The tarball is available here. Sources are available in the Mercurial repository.

Future directions

  • Add more output methods, for example a LaTeX output
  • Add the possibility to edit the Wiki comments directly online
  • Support insertion of images


  • Jean-Marie Favreau <jeanmarie.favreau@jmtrivial.info>
  • Frédéric Lehobey <Frederic.Lehobey@free.fr>
  • David Mentré <dmentre@linux-france.org>
  • Thomas Petazzoni <thomas.petazzoni@enix.org>

Other pages