On Wednesday 24 November 2004 11:40 pm, Jim Weirich wrote: | On Wednesday 24 November 2004 10:32 pm, Yukihiro Matsumoto wrote: | > on Thu, 25 Nov 2004 12:19:47 +0900, "trans. (T. Onoma)" | | <transami / runbox.com> writes: | > |I think that's good. But you can have "kernelless" object without | > | loosing "single class tree": | > | | > | MyClass < Object < ObjectShell | > | > I don't think I understand what you mean. What does ObjectShell mean? | | I'm guessing that ObjectShell is the ultimate blank slate. It is the root | of the object system and only provides the absolute minimum number of | methods (probably only __id__ and __send__). All normal objects inherit | from Object as they do now, but special objects that don't want all the | Object stuff by default (e.g. things like Builder or dynamic proxy objects) | could inherit from ObjectShell. This is right. I do not know if there is a saying in Japanese like we have in English: "shell of a __thing__", which means that __thing__ is a such on the outside, but not so inside --hence "shell of an Object" -> ObjectShell. Of course a better name might just be ObjectClass. I concur with Jim that it would only have "__meth__" style methods. In addition to the two mentioned above I might add #__class__ and a __method_missing__ callback. It would be useful for OpenStruct, and maybe DRb too. T. P.S. Maybe also (alhtough I'm not at all sure about this) the class should not be reopenable. ?