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

  • Tetsuo Kamina
  • Tetsuo Tamai
Conference paper

DOI: 10.1007/978-3-540-30477-7_27

Part of the Lecture Notes in Computer Science book series (LNCS, volume 3302)
Cite this paper as:
Kamina T., Tamai T. (2004) McJava – A Design and Implementation of Java with Mixin-Types. In: Chin WN. (eds) Programming Languages and Systems. APLAS 2004. Lecture Notes in Computer Science, vol 3302. Springer, Berlin, Heidelberg

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Tetsuo Kamina
    • 1
  • Tetsuo Tamai
    • 1
  1. 1.University of TokyoTokyoJapan

Personalised recommendations