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)