{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,9,5]],"date-time":"2024-09-05T23:51:15Z","timestamp":1725580275081},"publisher-location":"Berlin, Heidelberg","reference-count":23,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783642201158"},{"type":"electronic","value":"9783642201165"}],"license":[{"start":{"date-parts":[[2011,1,1]],"date-time":"2011-01-01T00:00:00Z","timestamp":1293840000000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2011]]},"DOI":"10.1007\/978-3-642-20116-5_9","type":"book-chapter","created":{"date-parts":[[2011,3,29]],"date-time":"2011-03-29T21:10:57Z","timestamp":1301433057000},"page":"107-123","source":"Crossref","is-referenced-by-count":1,"title":["Reverse Generics: Parametrization after the Fact"],"prefix":"10.1007","author":[{"given":"Alexandre","family":"Bergel","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Lorenzo","family":"Bettini","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"9_CR1","first-page":"96","volume-title":"Proc. Of OOPSLA","author":"E. Allen","year":"2003","unstructured":"Allen, E., Bannet, J., Cartwright, R.: A First-Class Approach to Genericity. In: Proc. Of OOPSLA, pp. 96\u2013114. ACM, New York (2003)"},{"issue":"1-2","key":"9_CR2","doi-asserted-by":"publisher","first-page":"26","DOI":"10.1016\/j.scico.2005.07.003","volume":"59","author":"E.E. Allen","year":"2006","unstructured":"Allen, E.E., Cartwright, R.: Safe instantiation in generic java. Sci. Comput. Program.\u00a059(1-2), 26\u201337 (2006)","journal-title":"Sci. Comput. Program."},{"key":"9_CR3","volume-title":"C++ Template Metaprogramming: Concepts, Tools and Techniques from Boost and Beyond","author":"D. Abrahams","year":"2004","unstructured":"Abrahams, D., Gurtovoy, A.: C++ Template Metaprogramming: Concepts, Tools and Techniques from Boost and Beyond. Addison-Wesley, Reading (2004)"},{"key":"9_CR4","volume-title":"Modern C++ Design, Generic Programming and Design Patterns Applied","author":"A. Alexandrescu","year":"2001","unstructured":"Alexandrescu, A.: Modern C++ Design, Generic Programming and Design Patterns Applied. Addison Wesley, Reading (2001)"},{"key":"9_CR5","volume-title":"Generic Programming and the STL: using and extending the C++ Standard Template Library","author":"M.H. Austern","year":"1998","unstructured":"Austern, M.H.: Generic Programming and the STL: using and extending the C++ Standard Template Library. Addison-Wesley, Reading (1998)"},{"issue":"7","key":"9_CR6","first-page":"16","volume":"22","author":"V. Batov","year":"2004","unstructured":"Batov, V.: Java generics and C++ templates. C\/C++ Users Journal\u00a022(7), 16\u201321 (2004)","journal-title":"C\/C++ Users Journal"},{"key":"9_CR7","doi-asserted-by":"crossref","first-page":"183","DOI":"10.1145\/286936.286957","volume-title":"Proc. of OOPSLA","author":"G. Bracha","year":"1998","unstructured":"Bracha, G., Odersky, M., Stoutamire, D., Wadler, P.: Making the future safe for the past: adding genericity to the Java programming language. In: Proc. of OOPSLA, pp. 183\u2013200. ACM, New York (1998)"},{"key":"9_CR8","unstructured":"Reis, G.D., J\u00e4rvi, J.: What is generic programming? In: Proc. of LCSD (2005)"},{"key":"9_CR9","doi-asserted-by":"crossref","first-page":"97","DOI":"10.1145\/320384.320393","volume-title":"Proc. of OOPSLA","author":"D. Duggan","year":"1999","unstructured":"Duggan, D.: Modular type-based reverse engineering of parameterized types in java code. In: Proc. of OOPSLA, pp. 97\u2013113. ACM, New York (1999)"},{"key":"9_CR10","volume-title":"Design Patterns: Elements of Reusable Object-Oriented Software","author":"E. Gamma","year":"1995","unstructured":"Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, Reading (1995)"},{"issue":"5","key":"9_CR11","doi-asserted-by":"publisher","first-page":"40","DOI":"10.1145\/997140.997144","volume":"39","author":"D. Ghosh","year":"2004","unstructured":"Ghosh, D.: Generics in Java and C++: a comparative model. ACMSIGPLAN Notices\u00a039(5), 40\u201347 (2004)","journal-title":"ACMSIGPLAN Notices"},{"issue":"2","key":"9_CR12","doi-asserted-by":"publisher","first-page":"31","DOI":"10.5381\/jot.2007.6.2.a3","volume":"6","author":"A. Igarashi","year":"2007","unstructured":"Igarashi, A., Nagira, H.: Union Types for Object Oriented Programming. Journal of Object Technology\u00a06(2), 31\u201352 (2007)","journal-title":"Journal of Object Technology"},{"issue":"3","key":"9_CR13","doi-asserted-by":"publisher","first-page":"396","DOI":"10.1145\/503502.503505","volume":"23","author":"A. Igarashi","year":"2001","unstructured":"Igarashi, A., Pierce, B.C., Wadler, P.: Featherweight Java: a minimal core calculus for Java and GJ. ACM TOPLAS\u00a023(3), 396\u2013450 (2001)","journal-title":"ACM TOPLAS"},{"key":"9_CR14","first-page":"437","volume-title":"Proc. of ICSE","author":"A. Kiezun","year":"2007","unstructured":"Kiezun, A., Ernst, M.D., Tip, F., Fuhrer, R.M.: Refactoring for parameterizing java classes. In: Proc. of ICSE, pp. 437\u2013446. IEEE, Los Alamitos (2007)"},{"key":"9_CR15","volume-title":"Eiffel: The Language","author":"B. Meyer","year":"1992","unstructured":"Meyer, B.: Eiffel: The Language. Prentice-Hall, Englewood Cliffs (1992)"},{"key":"9_CR16","first-page":"423","volume-title":"Proc. Of OOPSLA","author":"A. Moors","year":"2008","unstructured":"Moors, A., Piessens, F., Odersky, M.: Generics of a higher kind. In: Proc. Of OOPSLA, pp. 423\u2013438. ACM, New York (2008)"},{"key":"9_CR17","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"13","DOI":"10.1007\/3-540-51084-2_2","volume-title":"Symbolic and Algebraic Computation","author":"D.R. Musser","year":"1989","unstructured":"Musser, D.R., Stepanov, A.A.: Generic programming. In: Gianni, P. (ed.) ISSAC 1988. LNCS, vol.\u00a0358, pp. 13\u201325. Springer, Heidelberg (1989)"},{"key":"9_CR18","volume-title":"STL Tutorial and Reference Guide","author":"D.R. Musser","year":"1996","unstructured":"Musser, D.R., Saini, A.: STL Tutorial and Reference Guide. Addison Wesley, Reading (1996)"},{"key":"9_CR19","unstructured":"Odersky, M., Spoon, L., Venners, B.: Programming in Scala. Artima (2008)"},{"key":"9_CR20","doi-asserted-by":"publisher","first-page":"146","DOI":"10.1145\/263699.263715","volume-title":"Proc. of POPL","author":"M. Odersky","year":"1997","unstructured":"Odersky, M., Wadler, P.: Pizza into Java: Translating theory into practice. In: Proc. of POPL, pp. 146\u2013159. ACM, New York (1997)"},{"key":"9_CR21","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"304","DOI":"10.1007\/11785477_19","volume-title":"ECOOP 2006 \u2013 Object-Oriented Programming","author":"J. Siek","year":"2006","unstructured":"Siek, J., Taha, W.: A semantic analysis of C++ templates. In: Hu, Q. (ed.) ECOOP 2006. LNCS, vol.\u00a04067, pp. 304\u2013327. Springer, Heidelberg (2006)"},{"key":"9_CR22","first-page":"1","volume-title":"Proc. of OOPSLA","author":"D. Dincklage von","year":"2004","unstructured":"von Dincklage, D., Diwan, A.: Converting Java classes to use generics. In: Proc. of OOPSLA, pp. 1\u201314. ACM, New York (2004)"},{"issue":"4","key":"9_CR23","first-page":"36","volume":"7","author":"T. Veldhuizen","year":"1995","unstructured":"Veldhuizen, T.: Using C++ template metaprograms. C++ Report\u00a07(4), 36\u201343 (1995)","journal-title":"C++ Report"}],"container-title":["Communications in Computer and Information Science","Software and Data Technologies"],"original-title":[],"link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-642-20116-5_9","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,6,5]],"date-time":"2023-06-05T19:19:44Z","timestamp":1685992784000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/978-3-642-20116-5_9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2011]]},"ISBN":["9783642201158","9783642201165"],"references-count":23,"URL":"https:\/\/doi.org\/10.1007\/978-3-642-20116-5_9","relation":{},"ISSN":["1865-0929","1865-0937"],"issn-type":[{"type":"print","value":"1865-0929"},{"type":"electronic","value":"1865-0937"}],"subject":[],"published":{"date-parts":[[2011]]}}}