Click here for full text:
LIM and Nanoweb
Keyword(s): LIM; Nanoweb; Literate Programming; Law of the Excluded Miracle
Abstract: This paper has several aims: It introduces two useful tools to the programming community, it argues against the "Law of the Excluded Miracle", and it illustrates a lightweight style of literate programming that the author has found effective and useful. LIM (the Language of the Included Miracle) is a novel little programming language useful for writing small programs that include a good measure of syntactic processing. A LIM program is like a context free grammar, but with deterministic choice instead of non-deterministic choice and with both input and output as opposed to grammers, which support input only (or output only if they are viewed as generators). An alternative one sentence description: start with Dijkstra's calculus of guarded commands, drop the Law of the Excluded Miracle, and allow the commands of the calculus to operate on a state space containing two character streams, an input stream and an output stream. Nanoweb is an ultralight literate programming tool implemented in LIM. Nanoweb is useful, and also serves in this paper in the role of two examples: an example of a LIM program and as an example of a lightweight literate program.
Back to Index