Literate programming is the combination of documentation and source together in a fashion suited for reading by human beings. In general, literate programs combine source and documentation in a single file. Literate programming tools then parse the file to produce either readable documentation or compilable source. The WEB style of literate programming was created by D. E. Knuth during the development of his TeX typesetting software.
Discussion of literate programming is conducted in the newsgroup
comp.programming.literate
The literate programming FAQ is stored as
help/LitProg-FAQ
TeX is written in the programming language WEB; WEB is a tool to implement the concept of ``literate programming''.
CWEB, a WEB for C programs, written by Silvio
Levy, is available as web/c_cpp/cweb
Spidery WEB supports many
languages including Ada, awk, and C. It was written by Norman Ramsey
and, while not in the public domain, is usable free. It is available
in web/spiderweb
FWEB is a version for Fortran, Ratfor, and C written by John
Krommes.
It is available in web/fweb
SchemeWEB is a Unix filter that translates SchemeWEB into LaTeX
source or Scheme source. It was written by John Ramsdell and is
available in web/schemeweb
APLWEB is a version of WEB for APL and is available in
web/apl/aplweb
FunnelWeb is a version of WEB that is language independent. It is
available in web/funnelweb
Other language independent versions of WEB are nuweb (which
is written in ANSI C), available in web/nuweb
, and
noweb, available in web/noweb
A WEB for plain TeX macro files, using noweb, has
recently been made available in web/tweb