by Henderson, Peter
The ideas central to pure functional (or applicative) programming, including expression, semantics, and implementation.