Functional Programming in JavaScript

Pure functions, immutability, higher-order helpers, reduce and composition, ending in a small project that uses all of them.