RevGenImpl (In proceedings)
|
Author(s) | Alexandre Bergel and Lorenzo Bettini |
Title | « Generics and Reverse Generics for Pharo » |
In | ICSOFT 2012 - Proceedings of the 7th International Conference on Software Paradigm Trends |
Editor(s) | Slimane Hammoudi, Marten van Sinderen and José Cordeiro |
Page(s) | 363-372 |
Year | 2012 |
Publisher | SciTePress |
Note | Best Paper Award |
Abstract |
Generic programming is a mechanism for re-using code by abstracting specific types used in classes and programs. In this paper, we present a mechanism for adding generic programming in dynamically typed languages, showing how programmers can benefit from generic programming. Furthermore, we enhance the expressiveness of generic programming with reverse generics, a mechanism for automatically deriving new generic code starting from existing non-generic one. We implemented generics and reverse generics in Pharo Smalltalk, and we successfully used them to solve a problem of reusing unit test cases. This helped us to identify a number of bugs and anomalies in the stream class hierarchy. |
@inproceedings{RevGenImpl,
author = {Bergel, Alexandre and Bettini, Lorenzo},
note = {Best Paper Award},
booktitle = {ICSOFT 2012 - Proceedings of the 7th International Conference on
Software Paradigm Trends},
editor = {Slimane Hammoudi and Marten van Sinderen and Jos\'e Cordeiro},
title = {{Generics and Reverse Generics for Pharo}},
abstract = {Generic programming is a mechanism for re-using code by
abstracting specific types used in classes and programs. In this
paper, we present a mechanism for adding generic programming in
dynamically typed languages, showing how programmers can benefit
from generic programming. Furthermore, we enhance the
expressiveness of generic programming with reverse generics, a
mechanism for automatically deriving new generic code starting
from existing non-generic one. We implemented generics and reverse
generics in Pharo Smalltalk, and we successfully used them to
solve a problem of reusing unit test cases. This helped us to
identify a number of bugs and anomalies in the stream class
hierarchy.},
publisher = {SciTePress},
pages = {363-372},
year = {2012},
}
This document was generated by bib2html 3.3.
(Modified by Luca Paolini, under the GNU General Public License)
