On Feb 29, 2008, at 5:00 PM, Gary Wright wrote:

>
> On Feb 29, 2008, at 9:52 AM, Eric Mahurin wrote:
>> I think this is the worst kind of monkey-patching - breaking existing
>> functionality.  I didn't realize facets went to this level.   
>> Another reason
>> to never touch it.
>
> What existing functionality?  Standard Ruby doesn't define Hash#-.
>
> One of the strange aspects of this discussion is that monkey  
> patching core classes is seen as dangerous *except* when Matz and  
> Co. decide to add something to the core classes.  Then it is seen as  
> an example of elegant library design.  Fortunately, Matz is pretty  
> good at making those decisions.
>
> I don't think the problem is with the ability to modify core classes  
> per se but with the difficulty of managing library evolution in a  
> distributed context.
>
> Gary Wright
>

Extending the Core-Classes is not dangerous//bad. It just requires  
care. If Matz and Co. decide to add functionality to core classes,  
they are not monkey-patching. Usually, this change is well documented  
in a changelog that should be read if you update the language to a new  
major version.

I see the problem that everybody does what he wants (because he is  
free) but there is no common sense on when and how to do it (well,  
thats why we are discussing ;) ). As i said: some kind of opt-in  
functionality would be nice.

Greetings
Florian Gilcher