
Static Typing for Object-Oriented Programming
Author(s) -
Jens Palsberg,
Michael I. Schwartzbach
Publication year - 1991
Publication title -
daimi pb
Language(s) - English
Resource type - Journals
eISSN - 2245-9316
pISSN - 0105-8517
DOI - 10.7146/dpb.v20i355.6585
Subject(s) - computer science , programming language , inheritance (genetic algorithm) , complement (music) , class (philosophy) , object oriented programming , mechanism (biology) , theoretical computer science , order (exchange) , substitution (logic) , object (grammar) , artificial intelligence , philosophy , epistemology , finance , complementation , economics , gene , phenotype , biochemistry , chemistry
We develop a theory of statically typed object-oriented languages. It represents classes as labeled, regular trees, types as finite sets of classes, and subclassing as a partial order on trees. We show that our subclassing order strictly generalizes inheritance, and that a novel genericity mechanism arises as an order-theoretic complement. This mechanism, called class substitution, is pragmatically useful and can be implemented efficiently.