Visible to the public A Theory of Tagged Objects.Conflict Detection Enabled

TitleA Theory of Tagged Objects.
Publication TypeConference Paper
Year of Publication2015
AuthorsJoseph Lee, Jonathan Aldrich, Troy Shaw, Alex Potanin
Conference NameEuropean Conference on Object-Oriented Programming (ECOOP), Research Track
Date Published07/2015
Conference LocationPrague
Keywordsclasses, CMU, July'15, nominal and structural types, objects, tags
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 object-oriented 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.

DOI10.4230/LIPIcs.ECOOP.2015.999
Citation Keynode-24911

Other available formats:

Lee_Theory_Tagged_Objects_JA.pdf
AttachmentTaxonomyKindSize
Lee_Theory_Tagged_Objects_JA.pdfPDF document594.79 KBDownloadPreview
AttachmentSize
bytes