A Domain-Theoretic Model Of Nominally-Typed Object-Oriented Programming
The majority of contemporary mainstream object-oriented (OO) software is written using nominally-typed OO programming languages.Extant domain-theoretic models of OOP developed to analyze OO type systems miss crucial features of these mainstream OO languages,such as nominality.This paper summarizes the construction of NOOP as a domain-theoretic model of OOP that includes nominal information found in nominally-typed mainstream OO software.Inclusion of nominal type information and asserting that type inheritance in statically-typed OO programming languages is an inherently nominal notion allow readily proving that inheritance and subtyping are completely identified in these languages.This conclusion is in full agreement with intuitions of OO developers using these languages,and contrary to the belief that “inheritance is not subtyping,which came from assuming non-nominal structural models of OO type systems.NOOP,thus,provides a firmer semantic foundation for analyzing and progressing nominally-typed mainstream OO programming languages.
Object-Oriented Programming Denotational Semantics Nominative Type Systems Structural Type Systems NOOP Type Names Inheritance Subtyping OOP Java C#
Moez A. AbdelGawad
Computer Science Department,Rice University Houston,Texas,USA
国际会议
The 6th International Symposium on Domain Theory and its Applications—ISDT’13(第六届Domain理论及应用国际学术研讨会)
长沙
英文
3-19
2013-10-25(万方平台首次上网日期,不代表论文的发表时间)