The Theory of Classification, Part 6: The Subtyping Inquisition

The theory of subtyping which judges object type compatibility from both the syntactic point of view and semantic point of view is discussed. The theory provides a tool for analyzing the type safety and behavioral correctness of programming languages. The main semantic behavioral rules of interest derived from the addition of constraints and the generalization of constraints strengthen an axiom. A compiler must be able to resolve the most specific type of an expression to select a unique overload.

[1]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[2]  Gary Cornell,et al.  Core Java 2, Volume 1: Fundamentals (7th Edition) , 2004 .

[3]  Bertrand Meyer,et al.  Object-Oriented Software Construction, 2nd Edition , 1997 .

[4]  Bertrand Meyer,et al.  Object-oriented software construction (2nd ed.) , 1997 .

[5]  Jens Palsberg,et al.  A Denotational Semantics of Inheritance and its Correctness , 1989, OOPSLA.

[6]  Anthony J. H. Simons The Theory of Classification, Part 4: Object Types and Subtyping , 2002, J. Object Technol..

[7]  William R. Cook,et al.  A Proposal for Making Eiffel Type-Safe , 1989, Comput. J..

[8]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[9]  Bjarne Stroustrup,et al.  The C++ programming language (3. ed.) , 1997 .

[10]  Anthony J. H. Simons,et al.  The Theory of Classification, Part 5: Axioms, Assertions and Subtyping , 2003, J. Object Technol..

[11]  Jens Palsberg,et al.  A Denotational Semantics af Inheritance and its Correctness , 1989 .

[12]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[13]  Brad J. Cox,et al.  Object-oriented programming ; an evolutionary approach , 1986 .

[14]  Craig Schaffert,et al.  An introduction to Trellis/Owl , 1986, OOPSLA 1986.

[15]  Gary Cornell,et al.  Core Java 2 - Volumen I - Fundamentos , 1999 .

[16]  Jens Palsberg,et al.  A Denotational Semantics of Inheritance and Its Correctness , 1994, Inf. Comput..