[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:Mon Sep 16 13:15:42 1994 
Subject:Re: flavour-question 
From:jlc (Jonathan Cunningham) 
Volume-ID:940916.01 

> Here is why:  the metaflavour of the flavour foo is the flavour of which
> foo is an instance.  This relationship (metaflavour->flavour =
> flavour->instance) is not inheritiable; it is quite different from
> inheritable relationships like ivars->flavour and method->flavour.

Wow! That hurts the brain :-). I find it really hard to think about
metaflavours. Logically, I think you are right: there is no logical
reason why the relationship should be inheritable. (It's quite easy
to see this (for me :-) if it is expressed in higher order logic.)

Actually, I've just realised that it can be demonstrated quite easily
with Venn diagrams too: P isa Q just means that if you draw a Venn
diagram with blobs representing P and Q, then the blob for P must be
completely inside the blob for Q. But the colour of the blobs is a
meta-property, and there is no reason why the colour of P should be
the same as the colour of Q. For example, you might decide to outline
all flavours with the "setmember" property in shades of red and pink,
and other flavours in shades of blue: there is nothing to stop you
drawing an azure blob P inside a scarlet blob Q.

But it is weird: it does seem more natural for inheritance to work
all the way up the "meta-" hierarchy. (Maybe it is just as natural
as drawing things with the pen you are already holding, instead of
putting one down and picking up another?)

--jlc