Typed first-class traits

X Bi, BCS Oliveira - 32nd European Conference on Object …, 2018 - drops.dagstuhl.de
Many dynamically-typed languages (including JavaScript, Ruby, Python or Racket) support
first-class classes, or related concepts such as first-class traits and/or mixins. In those …

Java & lambda: a featherweight story

L Bettini, V Bono, M Dezani-Ciancaglini… - Logical Methods in …, 2018 - lmcs.episciences.org
We present FJ& λ, a new core calculus that extends Featherweight Java (FJ) with interfaces,
supporting multiple inheritance in a restricted form, λ-expressions, and intersection types …

Verifying traits: an incremental proof system for fine-grained reuse

F Damiani, J Dovland, EB Johnsen… - Formal Aspects of …, 2014 - Springer
Traits have been proposed as a more flexible mechanism than class inheritance for
structuring code in object-oriented programming, to achieve fine-grained code reuse. A trait …

A core calculus for dynamic delta-oriented programming

F Damiani, L Padovani, I Schaefer, C Seidl - Acta Informatica, 2018 - Springer
Delta-oriented programming (DOP) is a flexible approach to the implementation of software
product lines (SPLs). Delta-oriented SPLs consist of a code base (a set of delta modules …

Delegation proxies: The power of propagation

E Wernli, O Nierstrasz, C Teruel… - Proceedings of the 13th …, 2014 - dl.acm.org
Sco** behavioral variations to dynamic extents is useful to support non-functional
requirements that otherwise result in cross-cutting code. Unfortunately, such variations are …

XTRAITJ: Traits for the Java platform

L Bettini, F Damiani - Journal of Systems and Software, 2017 - Elsevier
Traits were proposed as a mechanism for fine-grained code reuse to overcome many
limitations of class-based inheritance. A trait is a set of methods that is independent from any …

[HTML][HTML] Implementing type-safe software product lines using parametric traits

L Bettini, F Damiani, I Schaefer - Science of Computer Programming, 2015 - Elsevier
A software product line (SPL) is a set of related software systems with well-defined
commonality and variability that are developed by reusing common artifacts. In this paper …

The safety of dynamic mixin composition

E Burton, E Sekerinski - Proceedings of the 30th Annual ACM …, 2015 - dl.acm.org
Dynamic mixins are a modular means of develo** features or roles that can be composed
with objects at run-time. However, naive use of this construct can cause unexpected …

Pure trait-based programming on the Java platform

L Bettini, F Damiani - Proceedings of the 2013 International Conference …, 2013 - dl.acm.org
Traits provide a mechanism for fine-grained code reuse to overcome the limitations of class-
based inheritance. A trait is a set of methods which is completely independent from any …

Generic traits for the Java platform

L Bettini, F Damiani - Proceedings of the 2014 International Conference …, 2014 - dl.acm.org
A trait is a set of methods that is independent from any class hierarchy and can be flexibly
used to build other traits or classes by means of a suite of composition operations. Traits …