A Comparison of NOOP to Structural Domain-Theoretic Models of OOP
Moez A. AbdelGawad

TL;DR
This paper compares the NOOP domain-theoretic model of object-oriented programming, which includes nominal type information, with structural models, providing a mathematical understanding of their differences.
Contribution
It offers a detailed comparison between NOOP and existing structural models, clarifying the relationship between nominal and structural OO type systems.
Findings
NOOP incorporates full nominal type information.
The comparison reveals precise mathematical relations between models.
Clarifies the distinction between nominal and structural typing in OOP.
Abstract
Mainstream object-oriented programming languages such as Java, C#, C++ and Scala are all almost entirely nominally-typed. NOOP is a recently developed domain-theoretic model of OOP that was designed to include full nominal information found in nominally-typed OOP. This paper compares NOOP to the most widely known domain-theoretic models of OOP, namely, the models developed by Cardelli and Cook, which were structurally-typed models. Leveraging the development of NOOP, the comparison presented in this paper provides a clear and precise mathematical account for the relation between nominal and structural OO type systems.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Advanced Software Engineering Methodologies · Software Engineering Research
