[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Type annotations



Quoting Thomas Link: 
> (Maybe this is what is meant by the term behavioural subtyping?)

Behavioral subtyping is a property of a subtype. A subtype is
considered a behavioral subtype when programs designed to accept the
original type also work properly when given the subtype. The subtype is
said to "behave" like the original type.

If you want to read more about behavioral subtyping, you might want to
check out Liskov and Wing's and America's papers from this web page:

  http://www.ccs.neu.edu/scheme/pubs/#oopsla01-ff

Let me also take this opportunity to plug some of my work on the
subject. See the papers "Contract Soundness for Object Oriented
Languages" and "Behavioral Contracts and Behavioral Subtyping", at:

  http://www.ccs.neu.edu/scheme/pubs/#oopsla01-ff

I found a problem with the way almost every contract checker for OO
languages works (including Eiffel). Those two papers discuss this
problem and how to fix it.

Hope that helps,
Robby