What is 'Currying'?
I've seen references to curried functions in several articles and blogs but I can't find a good explanation (or at least one that makes sense!) Kyle Cronin Currying is when you break down a function that takes multiple arguments into a series of functions that each take only one argument. Here's an example in JavaScript: function add (a, b) { return a + b; } add(3, 4); // returns 7 This is a function that takes two arguments, a and b, and returns their sum. We will now curry this function: function add (a) { return function (b) { return a + b; } } This is a function that takes one argument, a,