An algebraic semantics of subobjects
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
TIL: a type-directed optimizing compiler for ML
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Inside the C++ object model
From system F to typed assembly language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Programming Objects with ML-ART, an Extension to ML with Abstract and Record Types
TACS '94 Proceedings of the International Conference on Theoretical Aspects of Computer Software
Extensible objects without labels
ACM Transactions on Programming Languages and Systems (TOPLAS)
A simple typed intermediate language for object-oriented languages
Proceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An operational semantics and type safety prooffor multiple inheritance in C++
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Formal verification of object layout for c++ multiple inheritance
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Object model construction for inheritance in c++ and its applications to program analysis
CC'12 Proceedings of the 21st international conference on Compiler Construction
Hi-index | 0.00 |
Type-preserving compilation can improve software reliability by generating code that can be verified independently of the compiler. Practical type preserving compilation does not exist for languages with multiple inheritance. This paper presents Emi, the first typed intermediate language to support practical compilation of a programming language with fully general multiple inheritance. The paper demonstrates the practicality of Emi by showing that Emi can be used to faithfully model standard implementation strategies of multiple inheritance for C++, the most widely-used programming language with general multiple inheritance.