Nierstrasz, Oscar; Ducasse, Stéphane; Schärli, Nathanael (2005). Flattening Traits Universität Bern, Switzerland: Universität Bern
|
Text
Nier05eFlatteningTraitsTR.pdf - Published Version Available under License BORIS Standard License. Download (276kB) | Preview |
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.
Item Type: |
Report (Report) |
---|---|
Division/Institute: |
08 Faculty of Science > Institute of Computer Science (INF) 08 Faculty of Science > Institute of Computer Science (INF) > Software Composition Group (SCG) [discontinued] |
UniBE Contributor: |
Nierstrasz, Oscar, Ducasse, Stephane |
Subjects: |
000 Computer science, knowledge & systems 500 Science > 510 Mathematics |
Publisher: |
Universität Bern |
Language: |
English |
Submitter: |
Anja Ebeling |
Date Deposited: |
30 Oct 2017 11:31 |
Last Modified: |
11 Apr 2024 16:11 |
BORIS DOI: |
10.7892/boris.104671 |
URI: |
https://boris.unibe.ch/id/eprint/104671 |