2009
DOI: 10.1007/978-3-642-03013-0_12
|View full text |Cite
|
Sign up to set email alerts
|

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

Abstract: Abstract. 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 na… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
27
0

Year Published

2009
2009
2023
2023

Publication Types

Select...
5
1

Relationship

2
4

Authors

Journals

citations
Cited by 21 publications
(27 citation statements)
references
References 14 publications
0
27
0
Order By: Relevance
“…When looking up a method body, FFJ traverses the combined inheritance and refinement hierarchy of a class and selects the right-most and bottom-most (i.e., the least in the lexical order depicted in Figure 1) body of a method declaration or method refinement that is compatible. This kind of lookup is necessary since we model features directly in FFJ, instead of generating and evaluating FJ code [44].…”
Section: An Overview Of Ffjmentioning
confidence: 99%
See 2 more Smart Citations
“…When looking up a method body, FFJ traverses the combined inheritance and refinement hierarchy of a class and selects the right-most and bottom-most (i.e., the least in the lexical order depicted in Figure 1) body of a method declaration or method refinement that is compatible. This kind of lookup is necessary since we model features directly in FFJ, instead of generating and evaluating FJ code [44].…”
Section: An Overview Of Ffjmentioning
confidence: 99%
“…Lagorio et al have shown that a flattening semantics and a direct semantics are equivalent [44]. An advantage of a "direct" semantics is that it allows a type checking and error reporting at a finer grain.…”
Section: Feature-oriented Product Linesmentioning
confidence: 99%
See 1 more Smart Citation
“…Featherweight Jigsaw [LSZ09a,LSZ09b,LSZ12] (FJIG for short) is a simple calculus where basic building blocks are classes in the style of Featherweight Java (FJ for short) [IPW99], but inheritance has been replaced by the much more flexible notion originally proposed in Bracha's Jigsaw framework [Bra92]. 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, composed by: sum, restrict, alias and redirect.…”
Section: Introductionmentioning
confidence: 99%
“…In this paper, we choose to explain the semantics of DEEPFJIG by flattening since this provides a more simple and intuitive understanding of the effect of the operators. However, a direct semantics could be provided for DEEPFJIG along the lines of that we have described for FJIG [LSZ09a,LSZ09b,LSZ12], even though method look-up is much more involved when there are many composition operators rather than just extends. Note also that an implementation could be based on one of these two approaches, or more likely adopt some even different or mixed optimized approach.…”
Section: Introductionmentioning
confidence: 99%