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, which is gatewayed to the mailing list litprog@shsu.edu (see subscribing to mailing lists for details). 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