C. Smith, and S. Drossopoulou. ECOOP 2005 - Object-Oriented Programming, volume 3586/2005 of Lecture Notes in Computer Science, page 453--478. Department of Computing, Imperial College London, Springer, (2005)
DOI: 10.1007/11531142
Abstract
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 designed the language Chai, which incorporates statically typed
traits into a simple Java-inspired base language, and we discuss three
versions of the language: Chai1, where traits are only a mechanism
for
the creation of classes; Chai2 where traits are a mechanism for the
creation
of classes, and can also introduce types, and Chai3 where traits play
a role at runtime, and can can be applied to objects, and change the
objects�
behaviour. We give formal models for these languages, outline the
proof of soundness, and our prototype implementation.
%0 Conference Paper
%1 Chai
%A Smith, Charles
%A Drossopoulou, Sophia
%B ECOOP 2005 - Object-Oriented Programming
%D 2005
%I Springer
%K SDSeminar Traits
%P 453--478
%R 10.1007/11531142
%T Chai: Traits for Java-Like Languages
%V 3586/2005
%X 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 designed the language Chai, which incorporates statically typed
traits into a simple Java-inspired base language, and we discuss three
versions of the language: Chai1, where traits are only a mechanism
for
the creation of classes; Chai2 where traits are a mechanism for the
creation
of classes, and can also introduce types, and Chai3 where traits play
a role at runtime, and can can be applied to objects, and change the
objects�
behaviour. We give formal models for these languages, outline the
proof of soundness, and our prototype implementation.
@inproceedings{Chai,
abstract = {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 designed the language Chai, which incorporates statically typed
traits into a simple Java-inspired base language, and we discuss three
versions of the language: Chai1, where traits are only a mechanism
for
the creation of classes; Chai2 where traits are a mechanism for the
creation
of classes, and can also introduce types, and Chai3 where traits play
a role at runtime, and can can be applied to objects, and change the
objects�
behaviour. We give formal models for these languages, outline the
proof of soundness, and our prototype implementation.},
added-at = {2008-06-20T12:15:49.000+0200},
author = {Smith, Charles and Drossopoulou, Sophia},
bibsource = {DBLP, http://dblp.uni-trier.de},
biburl = {https://www.bibsonomy.org/bibtex/26ff0e8c9ced7d01aeb409199912eef40/gron},
booktitle = {ECOOP 2005 - Object-Oriented Programming},
citeseerurl = {http://citeseer.ist.psu.edu/728332.html},
description = {Traits},
doi = {10.1007/11531142},
ee = {http://dx.doi.org/10.1007/11531142_20},
file = {smith05chai.pdf:Traits\\smith05chai.pdf:PDF},
interhash = {1ff3193b6ea65821333bc07f326f109f},
intrahash = {6ff0e8c9ced7d01aeb409199912eef40},
keywords = {SDSeminar Traits},
organization = {Department of Computing, Imperial College London},
pages = {453--478},
publisher = {Springer},
series = {Lecture Notes in Computer Science},
timestamp = {2008-06-20T12:17:58.000+0200},
title = {{\it{Chai}: Traits for Java-Like Languages}},
volume = {3586/2005},
year = 2005
}