A simple typed intermediate language for object-oriented languages

10 years 8 days ago
A simple typed intermediate language for object-oriented languages
Traditional class and object encodings are difficult to use in practical type-preserving compilers because of the complexity of the encodings. We propose a simple typed intermediate language for compiling object-oriented languages and prove its soundness. The key ideas are to preserve lightweight notions of classes and objects instead of compiling them away and to separate name-based subclassing from structure-based subtyping. The language can express standard implementation techniques for both dynamic dispatch and runtime type tests. It has decidable type checking even with subtyping between quantified types with different bounds. Because of its simplicity, the language is a more suitable starting point for a practical type-preserving compiler than traditional encoding techniques. Categories and Subject Descriptors D.3.3 [Programming Languages]: Language Constructs and Features--Classes and Objects; D.3.1 [Programming Languages]: Formal Definitions and Theory General Terms Languages ...
Juan Chen, David Tarditi
Added 03 Dec 2009
Updated 03 Dec 2009
Type Conference
Year 2005
Where POPL
Authors Juan Chen, David Tarditi
Comments (0)