>>>>> "J" == Jim Freeze <jim / freeze.org> writes:

J> The pickaxe book doesn't provide figures for this behavior, but 
J> I assume that the a.extend creates a singleton class behind
J> the scenes and points klass to the new singleton class.
J> Then, the methods of A are not added to the singleton class, but
J> a Proxy is created and the singletons super points to the proxy.
J> The Proxy class then handles the method calls.

 You have found what do ruby :-)

 When you write

   a.extend(A)

 this is like if you write

   class << a
      include A
   end



Guy Decoux