From: "alexeymuranov (Alexey Muranov)" Date: 2013-05-18T17:21:55+09:00 Subject: [ruby-core:55047] [ruby-trunk - Feature #6721] Object#yield_self Issue #6721 has been updated by alexeymuranov (Alexey Muranov). =begin It seems that Haskell does not have it: http://stackoverflow.com/questions/4090168/is-there-an-inverse-of-the-haskell-operator I have found that in the context of Church numerals in lambda calculus, the expression (({��m.��n.nm})) is called (({exp})): http://en.wikipedia.org/wiki/Church_encoding#Computation_with_Church_numerals . One more reason to use the (({^})) operator as i have suggested :). This operation also would roughly correspond to (({apply})) in Scheme with reverse order of arguments. If i understand correctly, the (({apply})) in Scheme roughly correspond to (({call})) in Ruby, so maybe (({reverse_call}))? =end ---------------------------------------- Feature #6721: Object#yield_self https://bugs.ruby-lang.org/issues/6721#change-39418 Author: alexeymuranov (Alexey Muranov) Status: Open Priority: Normal Assignee: matz (Yukihiro Matsumoto) Category: core Target version: next minor =begin I think the following method is missing from Ruby: class Object def yield_self(*args) yield(self, *args) end end I do not know a good use case, but it looks very natural to me. It can be used in method chains. What do you think? Is there an alternative? =end -- http://bugs.ruby-lang.org/