Principals of functional programming - Glaser, Hugh; Hankin, Chris & Till, David (Prentice/hall international, London, 1984)