Type Inference of SELF

  • Authors:
  • Ole Agesen;Jens Palsberg;Michael I. Schwartzbach

  • Affiliations:
  • -;-;-

  • Venue:
  • ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
  • Year:
  • 1993

Quantified Score

Hi-index 0.00

Visualization

Abstract

We have designed and implemented a type inference algorithm for the full SELF language. The algorithm can guarantee the safety and disambiguity of message sends, and provide useful information for browsers and optimizing compilers.SELF features objects with dynamic inheritance. This construct has until now been considered incompatible with type inference because it allows the inheritance graph to change dynamically. Our algorithm handles this by deriving and solving type constraints that simultaneously define supersets of both the possible values of expressions and of the possible inheritance graphs. The apparent circularity is resolved by computing a global fixed-point, in polynomial time.The algorithm has been implemented and can successfully handle the SELF benchmark programs, which exist in the "standard SELF world" of more than 40,000 lines of code.