Lambda Calculus for Engineers
Abstract
In pure functional programming it is awkward to use a stateful sub-computation in a predominantly stateless computation. The problem is that the state of the subcomputation has to be passed around using ugly plumbing. Classical examples of the plumbing problem are: providing a supply of fresh names, and providing a supply of random numbers. We propose to use (deterministic) inductive definitions rather than recursion equations as a basic paradigm and show how this makes it easier to add the plumbing.
Full text
Additional material
De Loodgieters
The versions of PR-1
Coloured Plumbing in the source text
These listings highlight the plumbing in the source text.
Red marks the plumbing of hot water pipes, green indicates a radiator and underlined
red means that a restructuring took place.
Some original PR-3 documents