Institute for Software Research International
School of Computer Science, Carnegie Mellon University
A Type Checked Prototype-based Model with Linearity
Andi Bejleri, Jonathan Aldrich, Kevin Bierhoff
This paper provides a more structured facility for dynamic inheritance, where a type system tracks the changes in an object's interface that occur as the inheritance hierarchy is changed. We define a formal model of a language and type system with dynamic inheritance, and prove that the type system is sound in that it prevents run-time type errors. The type system tracks the linearity of objects and methods in order to ensure that objects whose interfaces change are not aliased.