A style of programming introduced by Donald E. Knuth in which the code is split up into fragments, each accompanied by a paragraph or paragraphs of explanatory text. The fragments are presented in the order most appropriate for explanation, rather than the order dictated by the rules of the programming language. A utility called tangle is used to rearrange the code fragments into the right order for compilation. Knuth’s system, called WEB, was developed for Pascal programs, but versions for C have also been produced.