automatic subtyping/intensions

Laurent Martelli martelli@iie.cnam.fr
10 Feb 1999 01:04:24 +0100


>>>>> "William" == William Tanksley <wtanksle@ucsd.edu> writes:

    William> On 9 Feb 1999, Laurent Martelli wrote:

    >>>>>>> "Tril" == Tril <dem@tunes.org> writes:

    >> >> 1 - B. Liskov and J. Wing: "A Behavioral Notion of
    >> Subtyping", >> ACM Transactions on Programming Languages and
    >> Systems, Number >> 16(6), pp. 1811-1841, ACM Press, 1994.

    Tril> Could you summarize the content of the article?  What is
    Tril> meant by a "behavioral notion?"

    >> It means that a type A is a subtype of B if objects of type A
    >> behave exactly the same way as objects of type B. This is the
    >> LSP (Liskov Substitution Principle) : if a function says it
    >> wants an argument of type B, you can give it an object of type
    >> A, and it wont see the difference. This definition does not
    >> rely on the name of understood messages but rather on their
    >> semantic.

    William> Does this article actually tell how to achieve this, or
    William> is it just another one saying how *nice* it would be if
    William> we could ...?

I haven't read it all, so I cannot tell. But it's available
online : 

  http://www.cs.cmu.edu/afs/cs/project/venari/www/subtype-toplas.html

Laurent