Origins
The notion of subtyping in programming languages dates back to the 1960s; it was introduced in Simula derivatives. The first formal treatments of subtyping were given by John C. Reynolds in 1980 who used category theory to formalize implicit conversions, and Luca Cardelli (1985).
The concept of subtyping has gained visibility (and synonymy with polymorphism in some circles) with the mainstream adoption of object-oriented programming. In this context, the principle of safe substitution is often called the Liskov substitution principle, after Barbara Liskov who popularized it in a keynote address at a conference on object-oriented programming in 1987. Because it must consider mutable objects, the ideal notion of subtyping defined by Liskov and Jeannette Wing, called behavioral subtyping is considerably stronger than what can be implemented in a type checker. (see the section on function types for details)
Read more about this topic: Subtyping
Famous quotes containing the word origins:
“The origins of clothing are not practical. They are mystical and erotic. The primitive man in the wolf-pelt was not keeping dry; he was saying: Look what I killed. Arent I the best?”
—Katharine Hamnett (b. 1948)
“The settlement of America had its origins in the unsettlement of Europe. America came into existence when the European was already so distant from the ancient ideas and ways of his birthplace that the whole span of the Atlantic did not widen the gulf.”
—Lewis Mumford (18951990)
“Grown onto every inch of plate, except
Where the hinges let it move, were living things,
Barnacles, mussels, water weedsand one
Blue bit of polished glass, glued there by time:
The origins of art.”
—Howard Moss (b. 1922)