4 ms·
Can you do things like var sum = curry(reduce, add); with the OO style? Am I wrong in thinking that this kind of currying is one of the fundamental build
by steadicat 16y ago
Can you do things like
var sum = curry(reduce, add);
with the OO style?
Am I wrong in thinking that this kind of currying is one of the fundamental building blocks of functional programming?
- shawndumas 16y agoDo you mean like this? var sum = function (a) { return _(a).reduce(function (m, n) { return m + n; }, 0); }; sum([1,2,3,4,5,6,7,8,9]); // => 45 Or am I not getting you?
- steadicat 16y agoThat's one way to do it, but you're falling back to explicitly defining a new function, rather than creating it by combining higher-order functions. Which kinda defeats the point.
- shawndumas 16y agoAll I would have to do is abstract the outer function out and call it curry (partial[1], really). var add = function (m, n) { return m + n; }, partial = function (mth, fn) { return function (l) { return _(l)[mth](fn, 0); }; }, sum = partial('reduce', add); sum([1,2,3,4,5,6,7,8,9]); // => 45 ----- [1]: http://lambda-the-ultimate.org/node/2266 http://lambda-the-ultimate.org/node/2266