unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* 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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).