Paper

Type
INPROCEEDINGS  
Title
Reverse Generics - Parametrization after the Fact  
Authors
Alexandre Bergel, Lorenzo Bettini 
Editors
Boris Shishkov, José Cordeiro, Alpesh Ranchordas  
Book
ICSOFT (1)  
Pages
107-123  
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.  
Volume
50  
Year
2011  
Bibtex key
DBLP:conf/icsoft/2009-1  
Paper Url1
reverse_generics_ICSOFT.pdf  
Bibtex
@INPROCEEDINGS{DBLP:conf/icsoft/2009-1,
  title = {{Reverse Generics - Parametrization after the Fact}},
  author = {Bergel, Alexandre and Bettini, Lorenzo},
  booktitle = {ICSOFT (1)},
  editor = {Boris Shishkov and  Jos\'e Cordeiro and  Alpesh Ranchordas},
  pages = {107-123},
  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.},
  volume = {50},
  year = {2011},
  url = {http://rap.dsi.unifi.it/phpbibliography/files/reverse_generics_ICSOFT.pdf},
  isbn = {978-3-642-20116-5},
  publisher = {Springer},
  series = {Communications in Computer and Information Science},
}
 
Created
0000-00-00 00:00:00  
Modified
2011-10-10 15:27:43