Lambda Calculus for Engineers

Pieter H. Hartel
Faculty of Electrical Engineering, Mathematics and Computer Science, University of Twente

Willem G. Vree
Faculty of Technology, Policy and Management, Technical University of Delft


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