Reverse Literate ProgrammingReverse Literate Programming
Donald E. Knuth's Literate Programming system allows to design and describe a program hierarchically according to the method of stepwise refinement. The result is a program code which can be read sequentially like a book, section after section. This helps reading the printed source listing, but on-screen programs are read rather selectively like an encyclopedia. There the programmer wants a system which allows and possibly even encourages selective browsing. Zoom in at interesting points or jump to other locations according to control flow or other semantic relationships. This is the approach of hypertext.
Reverse Literate Programming combines the advantages of Knuth's methodology and of the hypertext approach. Active Texts elements make it possible to have the source code as a hypertext screen document. A special print command prints this document as a Literate Programming output, resulting in an essay, with documentation, pictures, and program code.