2012
DOI: 10.1016/j.ic.2012.02.004
|View full text |Cite
|
Sign up to set email alerts
|

Featherweight Jigsaw — Replacing inheritance by composition in Java-like languages

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
16
0

Year Published

2012
2012
2023
2023

Publication Types

Select...
7

Relationship

2
5

Authors

Journals

citations
Cited by 14 publications
(16 citation statements)
references
References 10 publications
0
16
0
Order By: Relevance
“…Flatt et al [FKF98,FKF99] develop a semantics for classes and class-like mixins (without composition operators) in a core language, and have incorporated mixins and traits into Scheme (now Racket), based on classes and macros. Lagorio et al [LSZ12] in their design, a class inherits from a single superclass, and then incorporates a trait, which may be composed from other traits using sum, alias, and exclude operations. All conflicts between traits in this composition must be resolved explicitly; there are no default rules.…”
Section: Instantiable Traitsmentioning
confidence: 99%
“…Flatt et al [FKF98,FKF99] develop a semantics for classes and class-like mixins (without composition operators) in a core language, and have incorporated mixins and traits into Scheme (now Racket), based on classes and macros. Lagorio et al [LSZ12] in their design, a class inherits from a single superclass, and then incorporates a trait, which may be composed from other traits using sum, alias, and exclude operations. All conflicts between traits in this composition must be resolved explicitly; there are no default rules.…”
Section: Instantiable Traitsmentioning
confidence: 99%
“…These three operators were, then, taken as primitives in FJIG [LSZ09a,LSZ09b,LSZ12], where, as in Jigsaw, defined field and methods can be virtual, frozen or local. In DEEPFJIG, instead, defined field and methods are all implicitly virtual, hence we do not include the freeze primitive operator which allows to express, e.g., hiding.…”
Section: Deep Composition Operatorsmentioning
confidence: 99%
“…Finally, expressions include pre-objects c(fe), runtime expressions which cannot be written in programmer's code, but are obtained by reducing a constructor invocation. Indeed, since the constructor has no canonical form, we need two different syntactic forms [LSZ09a,LSZ09b,LSZ12], differently from FJ.…”
Section: Formalizationmentioning
confidence: 99%
See 2 more Smart Citations