First-Class Object Sets

  • Authors:
  • Erik Ernst

  • Affiliations:
  • University of Aarhus, Denmark

  • Venue:
  • Types for Proofs and Programs
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Typically, an object is a monolithic entity with a fixed interface. To increase flexibility in this area, this paper presents first-class object sets as a language construct. An object set offers an interface which is a disjoint union of the interfaces of its member objects. It may also be used for a special kind of method invocation involving multiple objects in a dynamic lookup process. With support for feature access and late-bound method calls, object sets are similar to ordinary objects, only more flexible. Object sets are particularly convenient as a lightweight primitive which may be added to a mainstream virtual machine in order to improve on the support for family polymorphism. The approach is made precise by means of a small calculus, and the soundness of its type system has been shown by a mechanically checked proof in Coq.