LSP (was Re: Function.prototype.bind)

Waldemar Horwat waldemar at
Mon Sep 22 15:25:18 PDT 2008

Graydon Hoare wrote:
> Quoting Liskov[1]:
>    "What is wanted here is something like the following substitution
>     property: If for each object o1 of type S there is an object o2 of
>     type T such that for all programs P defined in terms of T, the
>     behavior of P is unchanged when o1 is substituted for o2, then S
>     is a subtype of T."
> Think it over. Imagine what you'd have to delete from any language you 
> use, for its "subtype" relation to conform to that definition.

What?  For example, what would you have to delete from Java, ignoring the parts where a program can examine itself like reflection?


More information about the Es-discuss mailing list