Hi,

In message "[ruby-talk:02522] Re: frozen behavior"
    on 00/04/20, Dave Thomas <Dave / thomases.com> writes:

|> It's intended behavior.  I consider defining singleton method to
|> frozen object should be prohibited, because I think it is kind of
|> modification.
|
|I don't think I agree, but I'm sure I missing some subtlety.
|
|1. There's no change to the _state_ of an object if you add a method
|   to it, so you're not violating the freeze.

I feel set of individual (singleton) methods of an object is included
in the state of the object.

|2. Why allow
|
|       a  = "Dave"
|       a.freeze
|
|       class String
|         def xxx
|         end
|       end
|       a.xxx
|
|  but not
|
|       a  = "Dave"
|       a.freeze
|       def a.xxx
|       end

Hmm, I kinda feel like changing String class is altering the global
status.  But the result is almost same as you mentioned.

							matz.