On Sun, May 12, 2002 at 12:30:20AM +0200, Pixel wrote:
> FYI Ruby has:
> 
> a.type <= b.type  or  a.type == b.type
> 
> where the various operators (<, >, ==, != ...) are overloaded
> according to the subtyping relation.
> 
> as for me, 
> - i find the "==" very readable, 
> - but i'm not sure "<=" is very readable
>   (who knows that a supertype is "greater", and a subtype is "smaller")
Well, it comes from set notation - and you used the prefixes 'sub' and
'super' exactly as they are used in sets. :) The <= is an ASCIIfication of the
"is a subset of" operator (also used as such in, e.g., Pascal).  
The real operator, U+2286, uses a 'U' rotated 90 degrees clockwise in place
of the '<' symbol, and - like the real mathematical symbol for
"less than or equal" - has a line underneath that symbol instead of an
'=' next to it.

Anyway, if you regard a class as the set of objects which can be
treated as instances of that class, then use of a Rubylike notation
(and the terms 'subclass' and 'superclass') follows logically.

-- 
Mark REED                    | CNN Internet Technology
1 CNN Center Rm SW0831G      | [EMAIL PROTECTED]
Atlanta, GA 30348      USA   | +1 404 827 4754 
--
FORTRAN is not a flower but a weed -- it is hardy, occasionally blooms,
and grows in every computer.
                -- A.J. Perlis

Reply via email to