Live data from Hacker News

Curried JavaScript functions

svendtofte.com

1–8 of 8 posts

Re: Curried JavaScript functions

#2
Suggestion:

instead of this:

function add (a,b,c){ if (arguments.length

we could have something like:

function add (a,b,c) { return curry(arguments, 3, function (x,y,z) { return a+b+c; }; }

which is arguably simpler and cleaner. However, one extra closure is used.. maybe it makes it more complicated for some?

But, overall, pretty clear and interesting article :o

Re: Curried JavaScript functions

#3
post #2

Suggestion: instead of this: function add (a,b,c){ if (arguments.length we could have something like: function add (a,b,c) { return curry(arguments, 3, function (x,y,z) { return a+b+c; }; } which is arguably simpler and cleaner. However, one extra closure is used.. maybe it makes it more complicated for some? But, overall, pretty clear and interesting article :o

!

Re: Curried JavaScript functions

#5
post #3
post #2

Suggestion: instead of this: function add (a,b,c){ if (arguments.length we could have something like: function add (a,b,c) { return curry(arguments, 3, function (x,y,z) { return a+b+c; }; } which is arguably simpler and cleaner. However, one extra closure is used.. maybe it makes it more complicated for some? But, overall, pretty clear and interesting article :o

!

[deleted]

Re: Curried JavaScript functions

#6
post #2

Suggestion: instead of this: function add (a,b,c){ if (arguments.length we could have something like: function add (a,b,c) { return curry(arguments, 3, function (x,y,z) { return a+b+c; }; } which is arguably simpler and cleaner. However, one extra closure is used.. maybe it makes it more complicated for some? But, overall, pretty clear and interesting article :o

Yeah, it is a bit awkward. After reading this article a few years back, I wrote a simpler implementation of curry that transforms the function itself, rather than being called from within it, e.g.

  var add = curry(function(a,b,c) { return a + b + c; });
You can find the code at http://ianhenderson.org/curry.js if you're interested.