Simple, Efficient Object Encoding using Intersection Types

Abstract

I present a type-theoretic encoding of objects that interprets method dispatch by self-application (i.e., method functions are applied to the objects containing them) but still validates the expected subtyping relationships. The naive typing of self-application fails to validate the expected subtyping relationships because it is too permissive and allows application to similarly typed objects that are not self. This new encoding solves this problem by constraining methods to be applied only to self using existential and intersection types. Using this typing, I give a full account of objects including self types and method update. The typing constructs used in this encoding appear to be quite rich, but they may be axiomatized in a novel, restricted fashion that is metatheoretically simple.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 1999
Accession Number
ADA360971

Entities

People

  • Karl Crary

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • C4I

DTIC Thesaurus Topics

  • Abstracts
  • Calculus
  • Coding
  • Compilers
  • Computer Programming
  • Computer Science
  • Computers
  • Environment
  • Homosexuality
  • Judgment
  • Language
  • Machine Languages
  • Notation
  • Object Oriented Programming
  • Object-Oriented Programming Language
  • Programming Languages
  • Semantics

Fields of Study

  • Computer science

Readers

  • Applied Combinatorial Optimization and Logic Circuit Design.
  • Computational Linguistics