JavaScript curry function
javascript, partial-application
Solution
You're missing a `return` in your curry function.
I.e.
return function () {
return fn.apply(null, args.concat(slice.apply(arguments)));
};
That seems to work :)
Problem
I have implemented a `curry` function this way: ``` function curry (fn) { var slice = Array.prototype.slice, args = slice.apply(arguments, [1]); return function () { fn.apply(null, args.concat(slice.apply(arguments))); }; } ``` When I use the above function to do the following ``` function add (x, y) { return x + y; } var inc = curry(add, 1); console.log(inc(10)); ``` it logs `undefined`. Isn't 11 the expected output? What is wrong with my code? Note: Using `console.log(x, y)` inside the `add` function logs `1 10`. I don't understand why it returns `undefined`.