From: "alexeymuranov (Alexey Muranov)" Date: 2013-05-21T16:34:43+09:00 Subject: [ruby-core:55094] [ruby-trunk - Feature #8361] Alternative syntax for block parameter Issue #8361 has been updated by alexeymuranov (Alexey Muranov). =begin I do not mind this being closed, i do not see how this can be made consistent with the existing syntax, and probably me reason for suggesting this was not valid, but as a side note, i want to mention that i have just discovered that in Combinatory Logic, when a lambda term from Lambda Calculus is converted to an equivalent combinatorial term, an alternative intermediate notation used sometimes for "(({��x.M}))" is "(({[x].M}))": (()). =end ---------------------------------------- Feature #8361: Alternative syntax for block parameter https://bugs.ruby-lang.org/issues/8361#change-39463 Author: alexeymuranov (Alexey Muranov) Status: Feedback Priority: Normal Assignee: Category: syntax Target version: =begin I propose an alternative syntax for block parameters: p = lambda [x] { # do whatever you like with x here, but be sure to return the result } instead of p = lambda { |x| # ... } This would be consistent with the syntax of procedure call: (({p[a]})). Also, compare: a_bunch.each [element] do # ... end with: a_bunch.each do |element| # ... end =end -- http://bugs.ruby-lang.org/