Improving the implementation of traits in Pharo

Sebastián Tleye 1
1 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
LIFL - Laboratoire d'Informatique Fondamentale de Lille, Inria Lille - Nord Europe
Abstract : Traits are a new concept in Object-Oriented Programming, they were included in programming languages such as PHP, Perl and Pharo/Smalltalk. Traits are pure units of behavior that can be composed to form classes or other traits. The trait composition mechanism is an alternative to multiple or mixin inheritance in which the composer has full control over the trait composition. The result enables more reuse than single inheritance without introducing the drawbacks of multiple or mixin inheritance. Pharo is a new open-source Smalltalk-inspired programming language and environment. It provides a platform for innovative development both in industry and research. Traits are integrated in Pharo but barely used due to a lack of support in the development environment. For this reason, it is necessary to create more support to programmers when using traits. Making classes and traits polymorphic is a good start. All the tools that know how to handle classes will also know how to handle traits. Achieve the maximum possible polymorphism between classes and traits is one of the goals of this work. Fix bugs in Pharo is also part of this work. There are bugs in Pharo presents since the first implementations of traits. We will fix these bugs and we will explain why they are important. Finally, we will think a new way to visualize traits, and with this, open doors to future programmers to implement it.
Type de document :
Mémoires d'étudiants -- Hal-inria+
Programming Languages [cs.PL]. 2013
Liste complète des métadonnées

Littérature citée [14 références]  Voir  Masquer  Télécharger
Contributeur : Damien Cassou <>
Soumis le : mardi 4 février 2014 - 17:07:47
Dernière modification le : jeudi 21 février 2019 - 10:52:50
Document(s) archivé(s) le : dimanche 9 avril 2017 - 08:51:35


Fichiers produits par l'(les) auteur(s)


  • HAL Id : hal-00942150, version 1



Sebastián Tleye. Improving the implementation of traits in Pharo. Programming Languages [cs.PL]. 2013. 〈hal-00942150〉



Consultations de la notice


Téléchargements de fichiers