>>>>> "B" == Benoit Cerrina <benoit.cerrina / writeme.com> writes:

B>     which are the classes and the metaclasses (what is the significance of
B> the parenthesis)?

 Object is a class
 (Object) is a metaclass

B>     What really confuses me is that I don't understand why there are two
B> class instances for each
B>     of this core class:
rb_cObject--> rb_singleton_class_new(rb_cClass)
rb_cModule--> rb_singleton_class_new(rb_singleton_class_new(rb_cClass))

rb_cClass--> rb_singleton_class_new(rb_singleton_class_new(rb_singleton_class
B> _new(rb_cClass)))

 This is not this. I replace () with Meta

     *                           +------------------+
     *                           |                  |
     *             Object---->Meta-Object           |
     *              ^  ^        ^  ^                |
     *              |  |        |  |                |
     *              |  |  +-----+  +---------+      |
     *              |  |  |                  |      |
     *              |  +-----------+         |      |
     *              |     |        |         |      |
     *       +------+     |     Module--->Meta-Module
     *       |            |        ^         ^      |
     *  OtherClass-->Meta-OC       |         |      |
     *                             |         |      |
     *                           Class---->Meta-Class
     *                             ^                |
     *                             |                |
     *                             +----------------+

 horizontal arrow give the relation Class,Metaclass
 vertical arrow give the inheritance hierachy

 This mean that Object is the root of the system

B>     in any case I'll continue to read the source and I'll find out, its just
B> that I'd like it to
B>     go faster.

 It's useless to go faster if you misunderstand something.

Guy Decoux