Donald Knuth' s self-documenting {lITerate programming}, wITh {algorIThm}s and {documentation} intermixed in one file. They can be separated using Weave and Tangle. Versions exist for Pascal and C. Spiderweb can be used to create versions for other languages. FunnelWeb is a production-qualITy lITerate-programming tool. , . ["LITerate Programming", D.E. Knuth, Computer J 27(2):97-111, May 1984]. (1996-05-10)