Traits: Composable units of behaviour
Despite the undisputed prominence of inheritance as the fundamental reuse mechanism in
object-oriented programming languages, the main variants—single inheritance, multiple …
object-oriented programming languages, the main variants—single inheritance, multiple …
A nominal theory of objects with dependent types
We design and study v Obj, a calculus and dependent type system for objects and classes
which can have types as members. Type members can be aliases, abstract types, or new …
which can have types as members. Type members can be aliases, abstract types, or new …
Chai: Traits for Java-Like Languages
C Smith, S Drossopoulou - … 19th European Conference, Glasgow, UK, July …, 2005 - Springer
Traits support the factoring out of common behaviour, and its integration into classes in a
manner that coexists smoothly with inheritance-based structuring mechanisms. We …
manner that coexists smoothly with inheritance-based structuring mechanisms. We …
FeatherTrait: A modest extension of Featherweight Java
In the context of statically typed, class-based languages, we investigate classes that can be
extended with trait composition. A trait is a collection of methods without state; it can be …
extended with trait composition. A trait is a collection of methods without state; it can be …
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 …
Applying traits to the Smalltalk collection classes
Traits are a programming language technology that promote the reuse of methods between
unrelated classes. This paper reports on a refactoring of the Smalltalk collections classes …
unrelated classes. This paper reports on a refactoring of the Smalltalk collections classes …
[PDF][PDF] A typed calculus of traits
Schärli et al. recently proposed a mechanism called traits as a way to foster code reuse in
object-oriented programs [SDNB03]. They have prototyped the mechanism in the context of …
object-oriented programs [SDNB03]. They have prototyped the mechanism in the context of …
[PDF][PDF] A foundation for trait-based metaprogramming
Schärli et al. introduced traits as reusable units of behavior independent of the inheritance
hierarchy. Despite their relative simplicity, traits offer a surprisingly rich calculus. Trait calculi …
hierarchy. Despite their relative simplicity, traits offer a surprisingly rich calculus. Trait calculi …
Sustainable system infrastructure and big bang evolution: can aspects keep pace?
C Gibbs, CR Liu, Y Coady - European Conference on Object-Oriented …, 2005 - Springer
Realistically, many rapidly evolving systems eventually require extensive restructuring in
order to effectively support further evolution. Not surprisingly, these overhauls reverberate …
order to effectively support further evolution. Not surprisingly, these overhauls reverberate …