Ilias Lazaridis wrote:
> Austin Ziegler wrote:
> "meta-classes" is completely false.
>
> possibly you believe this one more:
>
> http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/40537
[snip]
> > I do not believe that this is just an implementation detail,
> > as it is exposed to the language for use.
>
> what you believe is irrelevant.
>
> reality counts.
>
> and (especially for you) possibly this here:
>
> http://www.ruby-talk.org/cgi-bin/scat.rb/ruby/ruby-talk/40548

Guys, Ilias does have a point.

If we insist on that metaclasses as we have now are just an accidental
implementation of the singleton feature -- and the authoritive one,
Matz seems to do so -- then we can conclude that they cannot be part of
the Ruby object model, where Ruby is an abstract entity, Ruby, as such,
the language.

So then I accept that he doesn't accept the "ri Class" diagram. Even if
that's correct if we understood Ruby as its realized by the canonical
implementation today.

However, if we decide to mean Ruby as the abstract language, then maybe
it just doesn't make sense to plea for a *class* diagram -- if we ditch
metaclasses, Ruby's OO ceases to be purely class based. It still makes
sense to ask for some kind of figure representing inheritance.

I don't know UML, is it capable of representing classless (or not fully
class based) OO?

If not, then the answer to Ilias' question: "either mean Ruby as the
current implementation defines it, or don't ask for an UML diagram
'cause can't be made one."

Csaba