Ruby Currying Posted by batasrki on Monday May 25, 2009 @03:21PM from the khelll.com dept. http://www.khelll.com/blog/ruby/ruby-currying/ ( 4 comments | 10 points | on HN )
Currying:
lambda { |x,y| x + y }.curry => lambda { |x| lambda { |y| x + y } }
Partial Application
lambda { |x, y| x + y }.apply(2) => lambda { |y| 2 + y }
And given #curry, #apply is trivial:
class Proc; def apply(param); self.curry.call(param); end end
...or at least, that's my understanding...