Project

General

Profile

Actions

Feature #6817

open

Partial application

Added by citizen428 (Michael Kohl) almost 10 years ago. Updated over 4 years ago.

Status:
Open
Priority:
Normal
Target version:
-
[ruby-core:46889]

Description

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

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

or the somewhat unwieldy

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

one could just write

(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 methods) over at my blog, 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.


Related issues 4 (3 open1 closed)

Related to Ruby master - Feature #4539: Array#zip_withAssignedmatz (Yukihiro Matsumoto)Actions
Related to Ruby master - Feature #6373: public #selfClosedmatz (Yukihiro Matsumoto)Actions
Related to Ruby master - Feature #7939: Alternative curry function creationFeedbackmatz (Yukihiro Matsumoto)Actions
Related to Ruby master - Feature #13765: Add Proc#bindOpenActions
Actions

Also available in: Atom PDF