Carnegie Mellon University
Browse
file.pdf (594.79 kB)

A Theory of Tagged Objects

Download (594.79 kB)
journal contribution
posted on 2015-07-01, 00:00 authored by Joseph Lee, Jonathan Aldrich, Troy Shaw, Alex Potanin

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

History

Publisher Statement

© Joseph Lee, Jonathan Aldrich, Troy Shaw, and Alex Potanin

Date

2015-07-01

Usage metrics

    Licence

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC