Functional Programming A PragPub Anthology by Michael Swaine