> I'm not feeling well about having these functions that would only be 
> used for number literal like usage anyway in the Kernel where they would 
> appear in line with other methods like "puts" and "caller". Don't you 
> feel bad explaining to a newcomer that that R() method that is reachable 
> from all Objects is something the standard library defines to allow for 
> easier constructing of Rationals? I'm certain that lots of Ruby's users 
> would not be willing to do that for the sake of less typing. And while I 
> can not say that "number_literal_R" is immediately obvious it explains 
> its purpose already way better than a single letter method name ever 
> could. I think it would also be a good idea to move it to 
> Numeric.literal_R just so it does not clobber up all Objects.

> Peter, in case you are still listening, what do you think about that 
> change?

Well, the way I've implemented it the method call follows the usual rules 
for method lookup. This allows to define these number literal methods in 
one's own classes without messing up someone else's classes. IMO this is 
an important advantage that's lost when moving these methods to Numeric. 
If you want, I'll change it; one question though: although a constant, 
Numeric can be reassigned a new value. So should the method be looked up 
in the original Numeric class or in whatever class Numeric points to at 
the time of the call?

Peter