ML for the Working Programmer
cl.cam.ac.uk