Designing a pure trait-based language
Position type: Post-doctoral Fellow
Functional area: Lille (Villeneuve d'Asq)
Recently, traits have been proposed as a single inheritance backward
compatible solution in which the composing entity has the control over
the trait composition. Traits are fine-grained units used to compose
classes, while avoiding many problems of inheritance and mixin-based
approaches. To evaluate the expressiveness of traits, some hierarchies
were refactored, showing code reuse. However, such large refactorings,
while valuable, may not be facing all the problems, since the
hierarchies were previously expressed within single inheritance and
following certain patterns. In addition traits have always been
considered in addition to class inheritance but not as the main
composition and reuse mechanism.
We are in the process of designing a pure traits based language. We
want to evaluate the impact of having only traits as building blocks
and removing inheritance from an object-oriented language. We expect
the candidate to take part of the design of a pure traits-based
programming language, to perform analysis on large pieces of software
for remodularisation purposes and redesign a library. We expect the
candidate to implement the core of a pure trait-based language and
some representative examples.
Compétences et Profil
- have good skills in interpretation of object-oriented programming
languages (classbased, prototypes, mixins...)
- have an expertise in object-oriented programming languages
outside Java, C++ and C#
- be fluent in English
Chercheur(s) à contacter pour plus d’information/advisors :
Stéphane Ducasse : [hidden email] Marcus Denker : [hidden email]
 Alexandre Bergel, Stéphane Ducasse, Oscar Nierstrasz and Roel
Wuyts, Stateful Traits and their Formalization, Journal of
Computer Languages, Systems and Structures, 2008.
 Damien Cassou, Stéphane Ducasse and Roel Wuyts, Redesigning with
Traits: the Nile Stream trait-based Library, International
Conference on Dynamic Languages 2007, 2007, pp. 50-79.
 Stéphane Ducasse, Oscar Nierstrasz, Nathanael Schaerli, Roel Wuyts
and Andrew Black, Traits: A Mechanism for fine-grained Reuse, ACM
Transactions on Programming Languages and Systems (TOPLAS), vol.
28, no. 2, March 2006, pp. 331-388.
 Nathanael Schaerli, Stéphane Ducasse, Oscar Nierstrasz and
Andrew Black, Traits: Composable Units of Behavior, Proceedings
of European Conference on Object-Oriented Programming (ECOOP'03),
LNCS, vol. 2743, Springer Verlag, July 2003, pp. 248-274.
Marcus Denker -- http://www.marcusdenker.de INRIA Lille -- Nord Europe. Team RMoD.