Feature #6817
Updated by shyouhei (Shyouhei Urabe) over 12 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 <pre><code class="ruby"> (1..3).map { |i| i + 2 } </code></pre> or the somewhat unwieldy <pre><code class="ruby"> (1..3).map(&2.method(:+)) </code></pre> (1..3).map(&2.method(:+)) one could just write <pre><code class="ruby"> (1..3).map(&2.+) </code></pre> which I think has a quite rubyish feel to it. I have a POC implementation in Ruby (I tried it with various Fixnum methods) over at my blog (((<URL:http://citizen428.net/blog/2012/07/30/ruby-left-section-for-infix-operators>))), (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