Lecture Notes in Computer Science, 2004, Volume 3302/2004, 398-414, DOI: 10.1007/978-3-540-30477-7_27

McJava – A Design and Implementation of Java with Mixin-Types

Tetsuo Kamina and Tetsuo Tamai

View Related Documents

Abstract

A programming construct mixin was invented to implement uniform extensions and modifications to classes. Although mixin-based programming has been extensively studied both on the methodological and theoretical point of views, relatively few attempts have been made on designing real programming languages that support mixins. In this paper, we address the issue of how to introduce a feature of declaring a mixin that may also be used as a type to nominally typed object-oriented languages like Java. We propose a programming language McJava, an extension of Java with mixin-types. To study type-soundness of McJava, we have formulated the core of McJava with typing and reduction rules, and proved its type-soundness. We also describe a compilation strategy of McJava that translates McJava programs to Java programs thus eventually making it runnable on standard Java virtual machines.

Fulltext Preview

Image of the first page of the fulltext document