Sciweavers

ECOOP
2009
Springer

Featherweight Jigsaw: A Minimal Core Calculus for Modular Composition of Classes

14 years 11 months ago
Featherweight Jigsaw: A Minimal Core Calculus for Modular Composition of Classes
We present FJig, a simple calculus where basic building blocks are classes in the style of Featherweight Java, declaring elds, methods and one constructor. However, inheritance has been generalized to the much more exible notion originally proposed in Bracha's Jigsaw framework. That is, classes play also the role of modules, that can be composed by a rich set of operators, all of which can be expressed by a minimal core. We keep the nominal approach of Java-like languages, that is, types are class names. However, a class is not necessarily a structural subtype of any class used in its dening expression. The calculus allows the encoding of a large variety of dierent mechanisms for software composition in class-based languages, including standard inheritance, mixin classes, traits and hiding. Hence, FJig can be used as a unifying framework for analyzing existing mechanisms and proposing new extensions. We provide two dierent semantics of an FJig program: attening and direct semantic...
Giovanni Lagorio, Marco Servetto, Elena Zucca
Added 22 Nov 2009
Updated 22 Nov 2009
Type Conference
Year 2009
Where ECOOP
Authors Giovanni Lagorio, Marco Servetto, Elena Zucca
Comments (0)