Hi,
First thanks a lot for this answer

>
>  Object is a class
>  (Object) is a metaclass
OK

>
> 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)))

according to the code
>
>  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

what confused me is that I was expecting something more on this
lines.

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

 Benoit