Domain Theory for Modeling OOP: A Summary
Abstract
Domain theory is `a mathematical theory that serves as a foundation for the semantics of programming languages'. Domains form the basis of a theory of partial information, which extends the familiar notion of partial function to encompass a whole spectrum of "degrees of definedness", so as to model incremental higherorder computation (i.e., computing with infinite data values, such as functions defined over an infinite domain like the domain of integers, infinite trees, and such as objects of objectoriented programming). General considerations from recursion theory dictate that partial functions are unavoidable in any discussion of computability. Domain theory provides an appropriately abstract setting in which the notion of a partial function can be lifted and used to give meaning to higher types, recursive types, etc. NOOP is a domaintheoretic model of nominallytyped OOP. NOOP was used to prove the identification of inheritance and subtyping in mainstream nominallytyped OO programming languages and the validity of this identification. In this report we first present the definitions of basic domain theoretic notions and domain constructors used in the construction of NOOP, then we present the construction of a simple structural model of OOP called COOP as a step towards the construction of NOOP. Like the construction of NOOP, the construction of COOP uses earlier presented domain constructors.
 Publication:

arXiv eprints
 Pub Date:
 June 2014
 arXiv:
 arXiv:1406.7497
 Bibcode:
 2014arXiv1406.7497A
 Keywords:

 Computer Science  Programming Languages
 EPrint:
 15 pages