An introduction to functional programming through lambda calculus - Michaelson, Greg (Addison-Wesley, 1989)