Why Functional Programming Matters. by John Hughes (1984)
As software becomes more and more complex, it is more and more important to structure it well. Well-structured software is easy to write, easy to debug, and provides a collection of modules that can be re-used to reduce future programming costs. 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.
This is a great paper because it's easy to read and it shows you why functional programming matters. It does this in the best of ways: by presenting beautiful programs. It's by far the best demonstration of lazy evaluation that I've found.
(I was really surprised to find that this paper hasn't been featured here before, though it has been linked several times.) [Lambda the Ultimate]
4:14:51 PM
|