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 …
first-class classes, or related concepts such as first-class traits and/or mixins. In those …
Java & lambda: a featherweight story
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 …
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 …
structuring code in object-oriented programming, to achieve fine-grained code reuse. A trait …
A core calculus for dynamic delta-oriented programming
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 …
product lines (SPLs). Delta-oriented SPLs consist of a code base (a set of delta modules …
Delegation proxies: The power of propagation
Sco** behavioral variations to dynamic extents is useful to support non-functional
requirements that otherwise result in cross-cutting code. Unfortunately, such variations are …
requirements that otherwise result in cross-cutting code. Unfortunately, such variations are …
XTRAITJ: Traits for the Java platform
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 …
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
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 …
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 …
with objects at run-time. However, naive use of this construct can cause unexpected …
Pure trait-based programming on the Java platform
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 …
based inheritance. A trait is a set of methods which is completely independent from any …
Generic traits for the Java platform
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 …
used to build other traits or classes by means of a suite of composition operations. Traits …