A Calculus for Compiling and Linking Classes

  • Authors:
  • Kathleen Fisher;John H. Reppy;Jon G. Riecke

  • Affiliations:
  • -;-;-

  • Venue:
  • ESOP '00 Proceedings of the 9th European Symposium on Programming Languages and Systems
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

We describe λinkζ (pronounced "links"), a low-level calculus designed to serve as the basis for an intermediate representation in compilers for class-based object-oriented languages. The primitives in λinkζ can express a wide range of class-based object-oriented language features, including various forms of inheritance, method override, and method dispatch. In particular, λinkζ can model the object-oriented features of MOBY, OCAML, and LOOM, where subclasses may be derived from unknown base classes. λinkζ can also serve as the intermediate representation for more conventional class mechanisms, such as JAVA's. In this paper, we formally describe λinkζ, give examples of its use, and discuss how standard compiler transformations can be used to optimize programs in the λinkζ representation.