Straightforward definition of currying:
currying is the act of transforming a function that takes multiple arguments at once, in a function that takes each argument one at a time
Which means, going from
function f(a, b) {
return a + b;
}
to:
function f(a) {
return function (b) {
return a + b;
}
}
At the calling site, this means going from:
f(a, b)
to
f(a)(b)