Functional Programming door Bruce MacLennan & Bruce J. MacLennan