This paper dates from 1984, and circulated as a Chalmers memo for many years. Slightly revised versions appeared in 1989 and 1990 in the Computer Journal and the Year of Programming. This version is based on the original Chalmers memo nroff source, lightly edited for LaTeX and to bring it closer to the published versions. As software becomes more and more complex, it is more and more important to structure it well.
Conventional languages place conceptual limits on the way problems can be modularised.
Functional languages push those limits back. In this paper we show that two features of functional languages in particular, higher-order functions and lazy evaluation, can contribute greatly to modularity. Since modularity is the key to successful programming, functional languages are vitally important to the real world. The paper is available as postscript here , and here is a bibtex entry.