From: "Jörg W Mittag" Date: 2009-05-16T07:00:02+09:00 Subject: Re: Superclass of eigenclass Joshua Ballanco wrote: > On May 14, 2009, at 8:25 PM, J�rg W Mittag wrote: >> Joshua Ballanco wrote: >>> As it turns out, they can be very >>> handy for implementing instance-specific methods, >> Exactly. It is my understanding that they were only added as a place >> to "stick" per-object methods. MRI already had classes, [...] >> >> AFAIK, the fact that they were exposed to the programmer is more of an >> accident than a well-designed thought-out language feature. > Right. So then the question: is there a compelling reason that they > should be allowed to be subclassed? (I mean, other than the obvious: > "Because that's not the way Ruby was designed" answer.) I cannot come > up with any compelling technical reason why the artificial limitation > of being unable to subclass "virtual classes"[1] should exist. I also > don't see what, besides this artificial limitation, is keeping Ruby > from having, at its heart, a fully prototype based inheritance system. There are lots of areas in Ruby, where things aren't as simple, orthogonal or consistent as they should be. Unfortunately[1], simplicity, orthogonality or consistency are not in any way design goals. I really like your idea, but you need to find a more compelling argument than "it makes eigenclasses consistent with classes and simplifies the object system". But a full-fledged prototype system would be pretty cool. jwm [1] Or fortunately? After all, Brainfuck is certainly simple, orthogonal and consistent ...