Literate Programming - Concept

Concept

A literate program is an explanation of the program logic in a natural language, such as English, interspersed with snippets of macros and traditional source code. Macros in a literate source file are simply title-like or explanatory phrases in a human language that describe human abstractions created while solving the programming problem, and hiding chunks of code or lower-level macros. These macros are similar to the algorithms in pseudocode typically used in teaching computer science. These arbitrary explanatory phrases become precise new operators, created on the fly by the programmer, forming a meta-language on top of the underlying programming language.

A preprocessor is used to substitute arbitrary hierarchies, or rather "interconnected 'webs' of macros", to produce the compilable source code with one command ("tangle"), and documentation with another ("weave"). The preprocessor also provides an ability to write out the content of the macros and to add to already created macros in any place in the text of the literate program source file, thereby disposing of the need to keep in mind the restrictions imposed by traditional programming languages or to interrupt the flow of thought.

Read more about this topic:  Literate Programming

Famous quotes containing the word concept:

    The concept is interesting: to see, as though reflected
    In streaming windowpanes, the look of others through
    Their own eyes.
    John Ashbery (b. 1927)

    Teaching Black Studies, I find that students are quick to label a black person who has grown up in a predominantly white setting and attended similar schools as “not black enough.” ...Our concept of black experience has been too narrow and constricting.
    bell hooks (b. c. 1955)

    Terror is as much a part of the concept of truth as runniness is of the concept of jam. We wouldn’t like jam if it didn’t, by its very nature, ooze. We wouldn’t like truth if it wasn’t sticky, if, from time to time, it didn’t ooze blood.
    Jean Baudrillard (b. 1929)