Safe Cross-Language Inheritance

9 years 9 months ago
Safe Cross-Language Inheritance
Inheritance is a standard means for reuse and for interfacing with external libraries. In a multi-language software product, extending a class written in a statically-typed language with a dynamicallytyped class can require a significant number of manual indirections and other error-prone complications. Building on our previous interoperability work, we introduce a technique that allows safe, easy inheritance across languages. We demonstrate our technique for cross-language inheritance with a statically-typed object calculus and a dynamically-typed object calculus, where a statically-typed class can extend a dynamicallytyped one and vice versa. We provide a proof sketch of soundness, as well as a guarantee that dynamic type errors do not arise due to staticallytyped expressions. 1 Crossing Language Boundaries Object-oriented libraries often require that clients extend a class. For a multilanguage product, extending the proper class may require developing a superfluous bridge between tw...
Kathryn E. Gray
Added 19 Oct 2010
Updated 19 Oct 2010
Type Conference
Year 2008
Authors Kathryn E. Gray
Comments (0)