bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#1029: Literate Programming: Emacs Lisp and Noweb


From: barry
Subject: bug#1029: Literate Programming: Emacs Lisp and Noweb
Date: Thu, 25 Sep 2008 23:55:31 -0400
User-agent: Thunderbird 1.5 (X11/20051201)

Please find attached a tar file which includes a package I use to integrate
Norman Ramsey's noweb literate programming tool and Emacs Lisp.

Just untar the file, and follow the instructions in README (simple ./configure,
make, make install) to install the package.

There is complete documentation in the doc directory. The code for elnw (elisp-noweb) is all documented with the noweb constructs and serves as an example of how noweb and emacs lisp integrate nicely to provide literate programming documentation
for emacs lisp.

For users of most programming languages, noweb provides tools notangle and
noweave, to generate either purse source code or pure documentation code
from a single noweb source file that includes both.

The tools provided allow users to incorporate the noweb constructs directly
into the emacs lisp source code itself, through a few simple functions
(noweb-doc, noweb-chunk). The literate code with these functions may be compiled
and run, with no performance penalty.

At the time documentation generation is required, or final code is desired,
the command line tools elnw-gendocs and elnw-compile (which invoke emacs
lisp in batch mode to do the work) serve to generate pure noweb documents
(for dicument generation) or pure el code for code generation (with the noweb
constructs stripped out).

The generated documentation is to latex from which dvi or pdf files are generated. The code sections in the documented literate code is colorized according to the
users standard font-lock selections.

These tools make it simple (simpler than in other languages) to create literate
emacs source code according to Knuth's concept. The literate source is
compilable, and executable (with no performance penalties) and generation of
final documentation and final source code is trivial.

Feel free to distribute this package as you like.

It requires emacs-22.1 (minimally), the noweb tools from Norman Ramsey's
site at http://www.cs.tufts.edu/~nr/noweb/, a working installation of latex with
the xcolor package.

Barry Krofchick
barry.krofchick@sympatico.ca

Attachment: elnw-1.0.tar.gz
Description: application/gzip


reply via email to

[Prev in Thread] Current Thread [Next in Thread]