case sensitive

Sort by: Display: Hide controls:

  1. Oscar Nierstrasz, Stéphane Ducasse, and Nathanael Schärli. Flattening Traits. In Journal of Object Technology 5(4) p. 129—148, 2006. 

    Traits are fine-grained components that can be used to compose classes, while avoiding many of the problems of multiple inheritance and mixin-based approaches. Since most implementations of traits have focused on dynamically-typed languages, the question naturally arises, how can one best introduce traits to statically-typed languages, like Java and C#? In this paper we argue that the flattening property of traits should be used as a guiding principle for any attempt to add traits to statically-typed languages. This property essentially states that, semantically, traits can be compiled away. We demonstrate how this principle applies to FTJ, a conservative extension to Featherweight Java.