An Effective Translation of Fickle into Java
We present a translation from Fickle (a Java-like language allowing dynamic object re-classi.cation, that is, objects that can change their class at run-time) into plain Java. The translation is proved to preserve static and dynamic semantics; moreover, it is shown to be effective, in the sense that the translation of a Fickle class does not depend on the implementation of used classes, hence can be done in a separate way, that is, without having their sources, exactly as it happens for Java compilation. The aim is to demonstrate that an extension of Java supporting dynamic object re-classi.cation could be fully compatible with the existing Java environment.
Unable to display preview. Download preview PDF.
- 1.D. Ancona, G. Lagorio, and E. Zucca. Jam — a smooth extension of Java with mixins. In ECOOP’00, volume 1850 of LNCS, pages 154–178. Springer, 2000.Google Scholar
- 2.Christopher Anderson. Implementing Fickle, Imperial College, final year thesis — to appear, June 2001.Google Scholar
- 3.C. Chambers. Predicate Classes. In ECOOP’93, volume 707 of LNCS, pages 268–296. Springer, 1993.Google Scholar
- 4.S. Drossopoulou, F. Damiani, M. Dezani-Ciancaglini, and P. Giannini. Fickle: Dynamic object re-classification. In J. L. Knudsen, editor, ECOOP’01, number 2072 in LNCS, pages 130–149. Springer, 2001. Also available in: Electronic proceedings of FOOL8 (http://www.cs.williams.edu/im/FOOL/).Google Scholar
- 5.R. Johnson E. Gamma, R. Elm and J. Vlissides. Design Patterns. Addison-Wesley, 1994.Google Scholar
- 6.M. D. Ernst, C. Kaplan, and C. Chambers. Predicate Dispatching: A Unified Theory of Dispatch. In ECOOP’98, volume 1445 of LNCS, pages 186–211. Springer, 1998.Google Scholar
- 7.M. Serrano. Wide Classes. In ECOOP’99, volume 1628 of LNCS, pages 391–415. Springer, 1999.Google Scholar