* bug#1029: Literate Programming: Emacs Lisp and Noweb
@ 2008-09-26 3:55 barry
2016-02-29 4:49 ` Lars Ingebrigtsen
0 siblings, 1 reply; 2+ messages in thread
From: barry @ 2008-09-26 3:55 UTC (permalink / raw)
To: bug-gnu-emacs
[-- Attachment #1: Type: text/plain, Size: 2091 bytes --]
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 #2: elnw-1.0.tar.gz --]
[-- Type: application/gzip, Size: 163784 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* bug#1029: Literate Programming: Emacs Lisp and Noweb
2008-09-26 3:55 bug#1029: Literate Programming: Emacs Lisp and Noweb barry
@ 2016-02-29 4:49 ` Lars Ingebrigtsen
0 siblings, 0 replies; 2+ messages in thread
From: Lars Ingebrigtsen @ 2016-02-29 4:49 UTC (permalink / raw)
To: barry; +Cc: 1029
barry <barry.krofchick@sympatico.ca> writes:
> Please find attached a tar file which includes a package I use to integrate
> Norman Ramsey's noweb literate programming tool and Emacs Lisp.
[...]
> 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.
I don't feel that this is something that would belong in the Emacs core,
but it sounds like a nice package to have on one of the Emacs package
repositories.
--
(domestic pets only, the antidote for overdose, milk.)
bloggy blog: http://lars.ingebrigtsen.no
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-02-29 4:49 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-26 3:55 bug#1029: Literate Programming: Emacs Lisp and Noweb barry
2016-02-29 4:49 ` Lars Ingebrigtsen
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.