case sensitive

Sort by: Display: Hide controls:

  1. Oscar Nierstrasz, Stéphane Ducasse, and Nathanael Schärli. Flattening Traits. Technical Report IAM-05-005, Institut für Informatik, Universität Bern, Switzerland, 2005. 

    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.