RevGen (In proceedings)
|
Author(s) | Alexandre Bergel and Lorenzo Bettini |
Title | « Reverse Generics - Parametrization after the Fact » |
In | ICSOFT (1) |
Series | Communications in Computer and Information Science |
Editor(s) | Boris Shishkov, José Cordeiro and Alpesh Ranchordas |
Volume | 50 |
Page(s) | 107-123 |
Year | 2011 |
Publisher | Springer |
ISBN number | 978-3-642-20116-5 |
URL | http://rap.dsi.unifi.it/phpbibliography/files/reverse_generics_ICSOFT.pdf |
Abstract |
By abstracting over types, generic programming enables one to write code that is independent from specific data type implementation. This style is supported by most mainstream languages, including C++ with templates and Java with generics. If some code is not designed in a generic way from the start, a major effort is required to convert this code to use generic types. This conversion is manually realized which is known to be tedious and error-prone. We propose Reverse Generics, a general linguistic mechanism to define a generic class from a non-generic class. For a given set of types, a generic is formed by unbinding static dependencies contained in these types. This generalization and generic type instantiation may be done incrementally. This paper studies the possible application of this linguistic mechanism to C++ and Java and, in particular, it reviews limitations of Java generics against our proposal. |
@inproceedings{RevGen,
volume = {50},
author = {Bergel, Alexandre and Bettini, Lorenzo},
series = {Communications in Computer and Information Science},
booktitle = {ICSOFT (1)},
editor = {Boris Shishkov and Jos\'e Cordeiro and Alpesh Ranchordas},
url = {http://rap.dsi.unifi.it/phpbibliography/files/reverse_generics_ICSOFT.pdf},
title = {{Reverse Generics - Parametrization after the Fact}},
abstract = {By abstracting over types, generic programming enables one to
write code that is independent from specific data type
implementation. This style is supported by most mainstream
languages, including C++ with templates and Java with generics. If
some code is not designed in a generic way from the start, a major
effort is required to convert this code to use generic types. This
conversion is manually realized which is known to be tedious and
error-prone. We propose Reverse Generics, a general linguistic
mechanism to define a generic class from a non-generic class. For
a given set of types, a generic is formed by unbinding static
dependencies contained in these types. This generalization and
generic type instantiation may be done incrementally. This paper
studies the possible application of this linguistic mechanism to
C++ and Java and, in particular, it reviews limitations of Java
generics against our proposal.},
isbn = {978-3-642-20116-5},
publisher = {Springer},
pages = {107-123},
year = {2011},
}
This document was generated by bib2html 3.3.
(Modified by Luca Paolini, under the GNU General Public License)