{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2024,10,30]],"date-time":"2024-10-30T22:53:09Z","timestamp":1730328789241,"version":"3.28.0"},"publisher-location":"New York, NY, USA","reference-count":45,"publisher":"ACM","content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2003,10,26]]},"DOI":"10.1145\/949305.949317","type":"proceedings-article","created":{"date-parts":[[2004,4,19]],"date-time":"2004-04-19T13:18:43Z","timestamp":1082380723000},"page":"115-134","update-policy":"http:\/\/dx.doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":70,"title":["A comparative study of language support for generic programming"],"prefix":"10.1145","author":[{"given":"Ronald","family":"Garcia","sequence":"first","affiliation":[{"name":"Indiana University - Bloomington, Bloomington, IN"}]},{"given":"Jaakko","family":"Jarvi","sequence":"additional","affiliation":[{"name":"Indiana University - Bloomington, Bloomington, IN"}]},{"given":"Andrew","family":"Lumsdaine","sequence":"additional","affiliation":[{"name":"Indiana University - Bloomington, Bloomington, IN"}]},{"given":"Jeremy G.","family":"Siek","sequence":"additional","affiliation":[{"name":"Indiana University - Bloomington, Bloomington, IN"}]},{"given":"Jeremiah","family":"Willcock","sequence":"additional","affiliation":[{"name":"Indiana University - Bloomington, Bloomington, IN"}]}],"member":"320","published-online":{"date-parts":[[2003,10,26]]},"reference":[{"key":"e_1_3_2_1_1_1","series-title":"Professional computing series","volume-title":"Generic Programming and the STL","author":"Austern M. H.","year":"1999","unstructured":"M. H. Austern . Generic Programming and the STL . Professional computing series . Addison-Wesley , 1999 .]] M. H. Austern. Generic Programming and the STL. Professional computing series. Addison-Wesley, 1999.]]"},{"key":"e_1_3_2_1_2_1","first-page":"28","volume-title":"LNCS","volume":"1608","author":"Backhouse R.","year":"1999","unstructured":"R. Backhouse , P. Jansson , J. Jeuring , and L. Meertens . Generic programming --- an introduction . In LNCS , volume 1608 , pages 28 -- 115 . Springer-Verlag , 1999 . Revised version of lecture notes for AFP'98.]] R. Backhouse, P. Jansson, J. Jeuring, and L. Meertens. Generic programming --- an introduction. In LNCS, volume 1608, pages 28--115. Springer-Verlag, 1999. Revised version of lecture notes for AFP'98.]]"},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1090\/qam\/102435"},{"key":"e_1_3_2_1_5_1","volume-title":"Autoboxing, Enhanced for loops and Static Import","author":"Bracha G.","year":"2002","unstructured":"G. Bracha and J. Bloch . JSR 201: Extending the Java Programming Language with Enumerations , Autoboxing, Enhanced for loops and Static Import , December 2002 . http:\/\/www.jcp.org\/en\/jsr\/detail?id=201.]] G. Bracha and J. Bloch. JSR 201: Extending the Java Programming Language with Enumerations, Autoboxing, Enhanced for loops and Static Import, December 2002. http:\/\/www.jcp.org\/en\/jsr\/detail?id=201.]]"},{"key":"e_1_3_2_1_6_1","volume-title":"April","author":"Bracha G.","year":"2001","unstructured":"G. Bracha , N. Cohen , C. Kemper , S. Marx , JSR 14: Add Generic Types to the Java Programming Language , April 2001 . http:\/\/www.jcp.org\/en\/jsr\/detail?id=014.]] G. Bracha, N. Cohen, C. Kemper, S. Marx, et al. JSR 14: Add Generic Types to the Java Programming Language, April 2001. http:\/\/www.jcp.org\/en\/jsr\/detail?id=014.]]"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/286936.286957"},{"key":"e_1_3_2_1_8_1","volume-title":"Typing in object-oriented languages: Achieving expressibility and safety. Technical report","author":"Bruce K. B.","year":"1996","unstructured":"K. B. Bruce . Typing in object-oriented languages: Achieving expressibility and safety. Technical report , Williams College , 1996 .]] K. B. Bruce. Typing in object-oriented languages: Achieving expressibility and safety. Technical report, Williams College, 1996.]]"},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/286936.286975"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/286936.286958"},{"key":"e_1_3_2_1_11_1","series-title":"volume~3 of Software Pattern Series","volume-title":"Pattern Languages of Program Design","author":"Cleeland C.","year":"1997","unstructured":"C. Cleeland , D. C. Schmidt , and T. H. Harrison . External polymorphism --- an object structural pattern for transparently extending C++ concrete . In R. C. Martin, D. Riehle, and F. Buschmann, editors, Pattern Languages of Program Design , volume~3 of Software Pattern Series . Addison-Wesley , 1997 .]] C. Cleeland, D. C. Schmidt, and T. H. Harrison. External polymorphism --- an object structural pattern for transparently extending C++ concrete. In R. C. Martin, D. Riehle, and F. Buschmann, editors, Pattern Languages of Program Design, volume~3 of Software Pattern Series. Addison-Wesley, 1997.]]"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/32.4.305"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01386390"},{"key":"e_1_3_2_1_14_1","volume-title":"Systems","author":"Hejlsberg A.","year":"2002","unstructured":"A. Hejlsberg . The C programming language. Invited talk at Object-Oriented Programming , Systems , Languages and Applications (OOPSLA) , 2002 .]] A. Hejlsberg. The C programming language. Invited talk at Object-Oriented Programming, Systems, Languages and Applications (OOPSLA), 2002.]]"},{"key":"e_1_3_2_1_15_1","volume-title":"Summer School on Generic Programming","author":"Hinze R.","year":"2002","unstructured":"R. Hinze and J. Jeuring . Generic Haskell: Practice and theory . In Summer School on Generic Programming , LNCS. Springer-Verlag , 2002 \/2003.]] R. Hinze and J. Jeuring. Generic Haskell: Practice and theory. In Summer School on Generic Programming, LNCS. Springer-Verlag, 2002\/2003.]]"},{"key":"e_1_3_2_1_16_1","volume-title":"Type-safe covariance: competent compilers can catch all catcalls","author":"Howard M.","year":"2003","unstructured":"M. Howard , E. Bezault , B. Meyer , D. Colnet , E. Stapf , K. Arnout , and M. Keller . Type-safe covariance: competent compilers can catch all catcalls . Apr. 2003 .]] M. Howard, E. Bezault, B. Meyer, D. Colnet, E. Stapf, K. Arnout, and M. Keller. Type-safe covariance: competent compilers can catch all catcalls. Apr. 2003.]]"},{"key":"e_1_3_2_1_17_1","volume-title":"Case postale 56, CH-1211 Geneve 20","author":"International Standardization Organization (ISO). ANSI\/ISO Standard 14882","year":"1998","unstructured":"International Standardization Organization (ISO). ANSI\/ISO Standard 14882 , Programming Language C++. 1 rue de Varembe , Case postale 56, CH-1211 Geneve 20 , Switzerland , 1998 .]] International Standardization Organization (ISO). ANSI\/ISO Standard 14882, Programming Language C++. 1 rue de Varembe, Case postale 56, CH-1211 Geneve 20, Switzerland, 1998.]]"},{"key":"e_1_3_2_1_18_1","volume-title":"Schloss Dagstuhl","author":"Jazayeri M.","year":"1998","unstructured":"M. Jazayeri , R. Loos , D. Musser , and A. Stepanov . Generic Programming. In Report of the Dagstuhl Seminar on Generic Programming , Schloss Dagstuhl , Germany , Apr. 1998 .]] M. Jazayeri, R. Loos, D. Musser, and A. Stepanov. Generic Programming. In Report of the Dagstuhl Seminar on Generic Programming, Schloss Dagstuhl, Germany, Apr. 1998.]]"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.5555\/647699.734160"},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.5555\/645394.651909"},{"key":"e_1_3_2_1_21_1","volume-title":"Purely Functional Language","author":"Jones S. P.","year":"1999","unstructured":"S. P. Jones , J. Hughes , Haskell 98 : A Non-strict , Purely Functional Language , February 1999 . http:\/\/www.haskell.org\/onlinereport\/.]] S. P. Jones, J. Hughes, et al. Haskell 98: A Non-strict, Purely Functional Language, February 1999. http:\/\/www.haskell.org\/onlinereport\/.]]"},{"key":"e_1_3_2_1_22_1","volume-title":"Haskell Workshop","author":"Jones S. P.","year":"1997","unstructured":"S. P. Jones , M. Jones , and E. Meijer . Type classes: an exploration of the design space . In Haskell Workshop , June 1997 .]] S. P. Jones, M. Jones, and E. Meijer. Type classes: an exploration of the design space. In Haskell Workshop, June 1997.]]"},{"key":"e_1_3_2_1_23_1","volume-title":"The C++ Standard Library: A Tutorial and Reference","author":"Josuttis N. M.","year":"1999","unstructured":"N. M. Josuttis . The C++ Standard Library: A Tutorial and Reference . Addison-Wesley , 1999 .]] N. M. Josuttis. The C++ Standard Library: A Tutorial and Reference. Addison-Wesley, 1999.]]"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/378795.378797"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.5555\/646158.680006"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"crossref","unstructured":"G.\n Kiczales J.\n Lamping A.\n Mendhekar C.\n Maeda C. V.\n Lopes J.-M.\n Loingtier and \n J.\n Irwin\n . \n Aspect-oriented programming\n . In M. Akcsit and S. Matsuoka editors ECOOP'97 -- \n Object-Oriented Programming vol. \n 1241\n of \n Lecture Notes in Computer Science pages \n 220\n --\n 242 1994\n .]] G. Kiczales J. Lamping A. Mendhekar C. Maeda C. V. Lopes J.-M. Loingtier and J. Irwin. Aspect-oriented programming. In M. Akcsit and S. Matsuoka editors ECOOP'97 -- Object-Oriented Programming vol. 1241 of Lecture Notes in Computer Science pages 220--242 1994.]]","DOI":"10.1007\/BFb0053381"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/43.6.469"},{"issue":"3","key":"e_1_3_2_1_28_1","article-title":"Code reuse considered harmful","volume":"4","author":"Magnusson B.","year":"1991","unstructured":"B. Magnusson . Code reuse considered harmful . Journal of Object-Oriented Programming , 4 ( 3 ), Nov. 1991 .]] B. Magnusson. Code reuse considered harmful. Journal of Object-Oriented Programming, 4(3), Nov. 1991.]]","journal-title":"Journal of Object-Oriented Programming"},{"key":"e_1_3_2_1_29_1","volume-title":"First Workshop on C++ Template Programming","author":"McNamara B.","year":"2000","unstructured":"B. McNamara and Y. Smaragdakis . Static interfaces in C++ . In First Workshop on C++ Template Programming , October 2000 .]] B. McNamara and Y. Smaragdakis. Static interfaces in C++. In First Workshop on C++ Template Programming, October 2000.]]"},{"key":"e_1_3_2_1_30_1","volume-title":"Eiffel: the language","author":"Meyer B.","year":"1992","unstructured":"B. Meyer . Eiffel: the language . Prentice Hall , New York, NY , first edition, 1992 .]] B. Meyer. Eiffel: the language. Prentice Hall, New York, NY, first edition, 1992.]]"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/260094.260214"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.5381\/jot.2002.1.2.c8"},{"key":"e_1_3_2_1_33_1","volume-title":"September","author":"Microsoft Corporation","year":"2002","unstructured":"Microsoft Corporation . Generics in C , September 2002 . Part of the Gyro distribution of generics for .NET {34}.]] Microsoft Corporation. Generics in C, September 2002. Part of the Gyro distribution of generics for .NET {34}.]]"},{"key":"e_1_3_2_1_34_1","volume-title":"May","author":"Microsoft Corporation","year":"2003","unstructured":"Microsoft Corporation . Generics for C and .NET CLR , May 2003 . http:\/\/research.microsoft.com\/projects\/clrgen\/.]] Microsoft Corporation. Generics for C and .NET CLR, May 2003. http:\/\/research.microsoft.com\/projects\/clrgen\/.]]"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.5555\/549659"},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/263699.263714"},{"key":"e_1_3_2_1_37_1","volume-title":"June","author":"Myers N. C.","year":"1995","unstructured":"N. C. Myers . Traits: a new and useful template technique. C++ Report , June 1995 .]] N. C. Myers. Traits: a new and useful template technique. C++ Report, June 1995.]]"},{"key":"e_1_3_2_1_38_1","volume-title":"Jan.","author":"Odersky M.","year":"2002","unstructured":"M. Odersky . Inferred type instantiation without prototypes for GJ. lampwww.epfl.ch\/~odersky\/ftp\/local-ti.ps , Jan. 2002 .]] M. Odersky. Inferred type instantiation without prototypes for GJ. lampwww.epfl.ch\/~odersky\/ftp\/local-ti.ps, Jan. 2002.]]"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1002\/j.1538-7305.1957.tb01515.x"},{"key":"e_1_3_2_1_40_1","volume-title":"October","author":"Ramsey N.","year":"2001","unstructured":"N. Ramsey . Toward a calculus of signatures. http:\/\/www.eecs.harvard.edu\/~nr\/pubs\/sigcalc-abstract.html , October 2001 .]] N. Ramsey. Toward a calculus of signatures. http:\/\/www.eecs.harvard.edu\/~nr\/pubs\/sigcalc-abstract.html, October 2001.]]"},{"key":"e_1_3_2_1_41_1","volume-title":"The Boost Graph Library: User Guide and Reference Manual","author":"Siek J.","year":"2002","unstructured":"J. Siek , L.-Q. Lee , and A. Lumsdaine . The Boost Graph Library: User Guide and Reference Manual . Addison-Wesley , 2002 .]] J. Siek, L.-Q. Lee, and A. Lumsdaine. The Boost Graph Library: User Guide and Reference Manual. Addison-Wesley, 2002.]]"},{"key":"e_1_3_2_1_42_1","volume-title":"First Workshop on C++ Template Programming","author":"Siek J.","year":"2000","unstructured":"J. Siek and A. Lumsdaine . Concept checking: Binding parametric polymorphism in C++ . In First Workshop on C++ Template Programming , October 2000 .]] J. Siek and A. Lumsdaine. Concept checking: Binding parametric polymorphism in C++. In First Workshop on C++ Template Programming, October 2000.]]"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/320384.320428"},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.5555\/646894.709706"},{"key":"e_1_3_2_1_46_1","volume-title":"Design and Evolution of C++","author":"Stroustrup B.","year":"1994","unstructured":"B. Stroustrup . Design and Evolution of C++ . Addison-Wesley , 1994 .]] B. Stroustrup. Design and Evolution of C++. Addison-Wesley, 1994.]]"},{"key":"e_1_3_2_1_47_1","series-title":"Lecture Notes in Computer Science","volume-title":"Proceedings of the 2nd International Scientific Computing in Object-Oriented Parallel Environments (ISCOPE'98)","author":"Veldhuizen T. L.","year":"1998","unstructured":"T. L. Veldhuizen . Arrays in Blitz++. In Proceedings of the 2nd International Scientific Computing in Object-Oriented Parallel Environments (ISCOPE'98) , volume 1505 of Lecture Notes in Computer Science . Springer-Verlag , 1998 .]] T. L. Veldhuizen. Arrays in Blitz++. In Proceedings of the 2nd International Scientific Computing in Object-Oriented Parallel Environments (ISCOPE'98), volume 1505 of Lecture Notes in Computer Science. Springer-Verlag, 1998.]]"}],"event":{"name":"OOPSLA03: ACM SIGPLAN Object Oriented Programming Systems Languages and Applications Conference","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","ACM Association for Computing Machinery"],"location":"Anaheim California USA","acronym":"OOPSLA03"},"container-title":["Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/949305.949317","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,9,4]],"date-time":"2023-09-04T18:30:00Z","timestamp":1693852200000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/949305.949317"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2003,10,26]]},"references-count":45,"alternative-id":["10.1145\/949305.949317","10.1145\/949305"],"URL":"https:\/\/doi.org\/10.1145\/949305.949317","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/949343.949317","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2003,10,26]]},"assertion":[{"value":"2003-10-26","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}