> irb> B = a
> B
> irb> x
> #<B:0x40269058>
> irb> A = a
> B
> 
>  What you must understand is that A and B make reference to the *same*
>  class, this is like if you have created an alias.
> 
>  It's not important that a.name give "A" or "B" because this is the same
>  class. 

Yup.

I did my ``thorough thinking''

Since a class is just an instance of Class, it does not matter how
many references there are, nor /should/ it matter what type of
references those are.

The name of a class should be (according to my taste) something to
help a human understand what the class hierarchy is. When you do not
need a name, use an anonymous class. No problem here.

If the name of a class turns out to be a String that depends on
whether a global reference (global constant) exists, I do not think
that supports my remark about human understanding. At the very least,
the method name "name" is confusing.


Back to the original topic:

All of this does not appear to be any argument against having

  Class.new(nameOrSymbol=nil, superClass=Object)

as far as I can tell, even if you demand that a classname starts with
a capital.

Bye,
Kero.

+--- Kero ------------------------------ kero / chello.nl ---+
|  Don't split your mentality without thinking twice       |
|                          Proud like a God -- Guano Apes  |
+--- M38c ------------------ http://huizen.dds.nl/~kero ---+