Hi,

Great work on RCR for the wiki, Mike. I think an important thing to
address when writing a RCR is why the change is really needed in
RubyProper or RubyStdLibrary as opposed to being loaded in a module or
extension.

Maybe Mike should assemble a "checklist" page with things to check / think
about before submitting RCR?

For example, I'd sure like an infix currying operator for
"chaining" proc's but I'm not sure this is important or generally useful
enough to include in the language as opposed to requiring a file with
the code:

class Proc
  def *(other)
    raise unless arity == other.arity
    proc {|*a| self.call(other.call(*a))}
  end
end

(and then, as a side-note being able to do:

 f = lambda{|x| 2*x}
 g = lambda{|x| x+1}
 h = f * g
 h.call 1         # => 4

 # BTW, this sure might be useful so you can consider this a RCR ;-)
 # and why not throw in some syntactic sugar for the "lambda{|x| ...}"
 # stuff ? la Haskells "\x -> 2*x" while we're at it!
)

BTW, Is there a Matz-approved definition of whats Standard lib and whats
Base lib? I've seen people use both and I'm not sure they mean the same
thing... Is RubyProper == Ruby language (syntax etc) + built-in
classes? Is Base lib the built-in classes?

Regards,

Robert