Lambda-Calculus, Combinators and Functional Programming, Cambridge Tracts in Theoretical Computer Science