Project

General

Profile

Feature #6817

Updated by nobu (Nobuyoshi Nakada) over 10 years ago

=begin 

 I know that what I propose here is a significant change to Ruby, but it's part of my ongoing quest to get some more functional programming features into Ruby (see also #4539 and #6373). 

 I was wondering if    it would make sense to maybe introduce partial application to Ruby?    So that instead of 

 ~~~ruby 
  

  (1..3).map { |i| i + 2 } 
 ~~~ 

 or the somewhat unwieldy 

 ~~~ruby 
 

  (1..3).map(&2.method(:+)) 
 ~~~ 

 one could just write 

 ~~~ruby 
 

  (1..3).map(&2.+) 
 ~~~ 

  

 which I think has a quite rubyish feel to it. I have a POC implementation in Ruby (I tried it with various `Fixnum` Fixnum methods) over at [my blog](http://citizen428.net/blog/2012/07/30/ruby-left-section-for-infix-operators), my blog (((<URL:http://citizen428.net/blog/2012/07/30/ruby-left-section-for-infix-operators>))), but that was just a quick hack and obviously I don't want to monkey-patch every method with arity 1, but it was a    nice way of exploring possible syntax. 
 =end

Back