Ingo,

On Jul 11, 2005, at 9:16 AM, Ingo Blechschmidt wrote:
Hi,

  class Foo {}
  class Bar is Foo {}

  Bar.new.isa(Object);    # true
  Bar.new.isa(Class);     # false
  Bar.new.isa(Foo);       # true
  Bar.new.isa(Bar);       # true
  # These are clear, I think.

Yes, these all make sense to me.


  Bar.isa(Object);        # true
  Bar.isa(Class);         # true
  Bar.isa(Foo);           # ? (my guess: false)
  Bar.isa(Bar);           # ? (my guess: false)

I am not sure about this. I think that .isa as a class method should behave much as it does for an instance method. If we start supporting things like Bar.isa(Class) then we start exposing the soft underbelly of the meta-model to the outside world. Which IMO might not be a good idea.

Stevan



--Ingo

--
Linux, the choice of a GNU | We are Pentium of Borg. Division is futile.
generation on a dual AMD   | You will be approximated.
Athlon!                    |



Reply via email to