Flattening Traits

Nierstrasz, Oscar; Ducasse, Stéphane; Schärli, Nathanael (2005). Flattening Traits Universität Bern, Switzerland: Universität Bern

[img]
Preview
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)

UniBE Contributor:

Nierstrasz, Oscar Marius and Ducasse, Stephane

Subjects:

000 Computer science, knowledge & systems
500 Science > 510 Mathematics

Publisher:

Universität Bern

Language:

English

Submitter:

Manuela Bamert

Date Deposited:

30 Oct 2017 11:31

Last Modified:

02 Nov 2017 05:32

BORIS DOI:

10.7892/boris.104671

URI:

https://boris.unibe.ch/id/eprint/104671

Actions (login required)

Edit item Edit item
Provide Feedback