Functional Programming
in JavaScript
Alan Pearce