Martin DeMello wrote:
> I was pondering the whole "monkeypatching" debate, and I realised that
> disallowing modification of core classes removes an extremely
> important property of the language - the ability to have extension
> code you write be "on par" with the base language. This is often
> touted as one of the big advantages of lisp and forth, and it would be
> a shame to lose it in ruby. For instance, lets say your code relied
> heavily on rot13. If you couldn't add a #rot13 method to String
> because String was a core class, you'd be forced to say rot13(string),
> or even worse, Util.rot13(string). You'd end up with expressions like
> rot13(string.capitalize.squeeze), where it is very clear which methods
> come from "base ruby" and which are yours.

Fully agree. Also, a method like Util.rot13(string) is defined in a 
pretty bland namespace, so it is really almost as "global" as 
String#rot13. How qualified would it have to be to be safe?

-- 
       vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407