A Theory of Tagged Objects
Date
Authors
Lee, Joseph
Aldrich, Jonathan
Shaw, Troy
Potanin, Alex
Journal Title
Journal ISSN
Volume Title
Publisher
Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
Access Statement
Abstract
Foundational models of object-oriented constructs typically model objects as records with a structural type. However, many object-oriented languages are class-based; statically-typed formal models of these languages tend to sacrifice the foundational nature of the record-based models, and in addition cannot express dynamic class loading or creation. In this paper, we explore how to model statically-typed object-oriented languages that support dynamic class creation using foundational constructs of type theory. We start with an extensible tag construct motivated by type theory, and adapt it to support static reasoning about class hierarchy and the tags supported by each object. The result is a model that better explains the relationship between objectoriented and functional programming paradigms, suggests a useful enhancement to functional programming languages, and paves the way for more expressive statically typed object-oriented languages. In that vein, we describe the design and implementation of the Wyvern language, which leverages our theory.
Description
Keywords
Citation
Collections
Source
Type
Book Title
29th European Conference on Object-Oriented Programming, ECOOP 2015
Entity type
Publication