Hi, In message "Re: proposal: class<<obj to invoke extend_object" on 04/03/08, Simon Strandgaard <neoneye / adslhome.dk> writes: |> Describe yourself deeper. What exactly is your proposal? | |When 'class<<obj' is seen by Ruby, then an init method should be invoked. |I propose to reuse #extend_object and #extended for this. | |> And why do you think it's needed? | |Its difficult to add an new instance variable to obj. |Its inflexible compared to obj.extend(Mod), because there isn't |invoked an #extend_object method when the extension occurs. You didn't explain why you need "extended" for singleton class definition. Why don't you use extend for your purpose, before changing the language? |> Remember, since singleton class always exists for each object |> (virtually), 'class <<obj' is rather corresponds to class re-opening. | |I am only little familiar with class re-opening.. I want you to take a break and learn about Ruby before claiming apples and oranges are similar. Yes, they are. But not the same. Besides that, singleton class definition is a kind of class re-opening, so that they should remain same. Class re-opening is a class definition whose target is an existing class, for example: class String def foo # String#foo become available end end there's no hook for class re-opening. matz.