Introduction to functional programming - Bird, Richard (Prentice-Hall of India, 1988)