Abstract
We present an efficient encoding of core Java constructs in a simple, implementable typed intermediate language. The encoding, after type erasure, has the same operational behavior as a standard implementation using viables and self-application for method invocation. Classes inherit super-class methods with no overhead. We support mutually recursive classes while preserving separate compilation. Our strategy extends naturally to a significant subset of Java, including interfaces and privacy. The formal translation using Featherweight Java allows comprehensible type-preservation proofs and serves as a starting point for extending the translation to new features. Our work provides a foundation for supporting certifying compilation of Java-like class-based languages in a type-theoretic framework.
Author supplied keywords
Cite
CITATION STYLE
League, C., Shao, Z., & Trifonov, V. (2002). Type-preserving compilation of featherweight Java. ACM Transactions on Programming Languages and Systems, 24(2), 112–152. https://doi.org/10.1145/514952.514954
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.