Pieter Hartel
University of Southampton, UK
An introduction to functional programming
ML for the working programmer