{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:46:03Z","timestamp":1772163963828,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":41,"publisher":"ACM","license":[{"start":{"date-parts":[[2006,6,11]],"date-time":"2006-06-11T00:00:00Z","timestamp":1149984000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2006,6,11]]},"DOI":"10.1145\/1133981.1134014","type":"proceedings-article","created":{"date-parts":[[2006,7,24]],"date-time":"2006-07-24T12:53:01Z","timestamp":1153745581000},"page":"272-282","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":12,"title":["Algorithm specialization in generic programming"],"prefix":"10.1145","author":[{"given":"Jaakko","family":"J\u00e4rvi","sequence":"first","affiliation":[{"name":"Texas A&amp;M University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Douglas","family":"Gregor","sequence":"additional","affiliation":[{"name":"Indiana University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jeremiah","family":"Willcock","sequence":"additional","affiliation":[{"name":"Indiana University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Andrew","family":"Lumsdaine","sequence":"additional","affiliation":[{"name":"Indiana University"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jeremy","family":"Siek","sequence":"additional","affiliation":[{"name":"Rice University"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2006,6,11]]},"reference":[{"key":"e_1_3_2_1_1_1","series-title":"Professional Computing Series","volume-title":"Generic programming and the STL: Using and extending the C++ Standard Template Library","author":"Austern Matthew H.","year":"1998","unstructured":"Matthew H. Austern . Generic programming and the STL: Using and extending the C++ Standard Template Library . Professional Computing Series . Addison-Wesley Longman Publishing Co., Inc. , Boston, MA, USA , 1998 .]] Matthew H. Austern. Generic programming and the STL: Using and extending the C++ Standard Template Library. Professional Computing Series. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1998.]]"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/885631.885632"},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/28697.28700"},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1086365.1086397"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/1040305.1040306"},{"key":"e_1_3_2_1_6_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"33","DOI":"10.1007\/BFb0053029","volume-title":"Proceedings of the 6th European Conference on Object-Oriented Programming (ECOOP)","author":"Chambers Craig","year":"1992","unstructured":"Craig Chambers . Object-oriented multi-methods in Cecil . In Ole Lehrmann Madsen, editor, Proceedings of the 6th European Conference on Object-Oriented Programming (ECOOP) , volume 615 of Lecture Notes in Computer Science , pages 33 -- 56 , Berlin, Heidelberg, New York, Tokyo, 1992 . Springer-Verlag .]] Craig Chambers. Object-oriented multi-methods in Cecil. In Ole Lehrmann Madsen, editor, Proceedings of the 6th European Conference on Object-Oriented Programming (ECOOP), volume 615 of Lecture Notes in Computer Science, pages 33--56, Berlin, Heidelberg, New York, Tokyo, 1992. Springer-Verlag.]]"},{"key":"e_1_3_2_1_7_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"268","DOI":"10.1007\/3-540-47910-4_15","volume-title":"ECOOP'93 - Object-Oriented Programming","author":"Chambers Craig","year":"1993","unstructured":"Craig Chambers . Predicate classes . In ECOOP'93 - Object-Oriented Programming , volume 707 of Lecture Notes in Computer Science , pages 268 -- 296 , 1993 .]] Craig Chambers. Predicate classes. In ECOOP'93 - Object-Oriented Programming, volume 707 of Lecture Notes in Computer Science, pages 268--296, 1993.]]"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/218570.218571"},{"key":"e_1_3_2_1_9_1","volume-title":"Version 3.1","author":"Craig Chambers and the Cecil Group","year":"2002","unstructured":"Craig Chambers and the Cecil Group . The Cecil Language: Specification and Rationale , Version 3.1 . University of Washington , Computer Science and Engineering, December 2002 . http:\/\/www.cs.washington.edu\/research\/projects\/cecil\/.]] Craig Chambers and the Cecil Group. The Cecil Language: Specification and Rationale, Version 3.1. University of Washington, Computer Science and Engineering, December 2002. http:\/\/www.cs.washington.edu\/research\/projects\/cecil\/.]]"},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/1111037.1111064"},{"key":"e_1_3_2_1_11_1","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"crossref","first-page":"186","DOI":"10.1007\/BFb0054092","volume-title":"ECOOP '98","author":"Ernst Michael D.","year":"1998","unstructured":"Michael D. Ernst , Crag Kaplan , and Craig Chambers . Predicate dispatching: A unified theory of dispatch . In ECOOP '98 , volume 1445 of Lecture Notes in Computer Science , pages 186 -- 211 , New York, NY , 1998 . Springer-Verlag .]] Michael D. Ernst, Crag Kaplan, and Craig Chambers. Predicate dispatching: A unified theory of dispatch. In ECOOP '98, volume 1445 of Lecture Notes in Computer Science, pages 186--211, New York, NY, 1998. Springer-Verlag.]]"},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1002\/1097-024X(200009)30:11%3C1167::AID-SPE337%3E3.0.CO;2-B"},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/949305.949317"},{"key":"e_1_3_2_1_14_1","volume-title":"The Java Language Specification","author":"Gosling James","year":"2005","unstructured":"James Gosling , Bill Joy , Guy Steele , and Gilad Bracha . The Java Language Specification , Third Edition. Addison-Wesley Longman Publishing Co., Inc. , Boston, MA, USA , 2005 .]] James Gosling, Bill Joy, Guy Steele, and Gilad Bracha. The Java Language Specification, Third Edition. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2005.]]"},{"key":"e_1_3_2_1_15_1","unstructured":"Douglas Gregor. ConceptGCC: Concept extensions for C++. http:\/\/www.osl.iu.edu\/~dgregor\/ConceptGCC 2005.]]  Douglas Gregor. ConceptGCC: Concept extensions for C++. http:\/\/www.osl.iu.edu\/~dgregor\/ConceptGCC 2005.]]"},{"key":"e_1_3_2_1_17_1","volume-title":"Programming languages - C++","author":"International Organization for Standardization. ISO\/IEC 14882:1998","year":"1998","unstructured":"International Organization for Standardization. ISO\/IEC 14882:1998 : Programming languages - C++ . Geneva, Switzerland , September 1998 .]] International Organization for Standardization. ISO\/IEC 14882:1998: Programming languages - C++. Geneva, Switzerland, September 1998.]]"},{"key":"e_1_3_2_1_18_1","series-title":"LNCS","doi-asserted-by":"crossref","first-page":"228","DOI":"10.1007\/978-3-540-39815-8_14","volume-title":"Generative Programming and Component Engineering","author":"J\u00e4rvi Jaakko","year":"2003","unstructured":"Jaakko J\u00e4rvi , Jeremiah Willcock , and Andrew Lumsdaine . Conceptcontrolled polymorphism . In Frank Pfennig and Yannis Smaragdakis, editors, Generative Programming and Component Engineering , volume 2830 of LNCS , pages 228 -- 244 . Springer Verlag , September 2003 .]] Jaakko J\u00e4rvi, Jeremiah Willcock, and Andrew Lumsdaine. Conceptcontrolled polymorphism. In Frank Pfennig and Yannis Smaragdakis, editors, Generative Programming and Component Engineering, volume 2830 of LNCS, pages 228--244. Springer Verlag, September 2003.]]"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/1094811.1094813"},{"key":"e_1_3_2_1_20_1","first-page":"107","volume-title":"Partial Evaluation and Semantics-Based Program Manipulation","author":"Jones Mark P.","year":"1994","unstructured":"Mark P. Jones . Dictionary-free overloading by partial evaluation . In Partial Evaluation and Semantics-Based Program Manipulation , Orlando, Florida , June 1994 (Technical Report 94\/9, Department of Computer Science, University of Melbourne) , pages 107 -- 117 , 1994.]] Mark P. Jones. Dictionary-free overloading by partial evaluation. In Partial Evaluation and Semantics-Based Program Manipulation, Orlando, Florida, June 1994 (Technical Report 94\/9, Department of Computer Science, University of Melbourne), pages 107--117, 1994.]]"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"crossref","DOI":"10.1017\/CBO9780511663086","volume-title":"Qualified Types: Theory and Practice. Distinguished Dissertations in Computer Science","author":"Jones Mark P.","year":"1994","unstructured":"Mark P. Jones . Qualified Types: Theory and Practice. Distinguished Dissertations in Computer Science . Cambridge University Press , 1994 .]] Mark P. Jones. Qualified Types: Theory and Practice. Distinguished Dissertations in Computer Science. Cambridge University Press, 1994.]]"},{"key":"e_1_3_2_1_22_1","volume-title":"March","author":"Kiselyov Oleg","year":"2003","unstructured":"Oleg Kiselyov . Dynamic dispatch on a class of a type. Haskell mailing list , March 2003 . http:\/\/okmij.org\/ftp\/Haskell\/types.html#class-based-dispatch.]] Oleg Kiselyov. Dynamic dispatch on a class of a type. Haskell mailing list, March 2003. http:\/\/okmij.org\/ftp\/Haskell\/types.html#class-based-dispatch.]]"},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/174675.176926"},{"key":"e_1_3_2_1_25_1","volume-title":"First Workshop on C++ Template Programming","author":"McNamara Brian","year":"2000","unstructured":"Brian McNamara and Yannis Smaragdakis . Static interfaces in C++ . In First Workshop on C++ Template Programming , October 2000 .]] Brian McNamara and Yannis Smaragdakis. Static interfaces in C++. In First Workshop on C++ Template Programming, October 2000.]]"},{"key":"e_1_3_2_1_26_1","volume-title":"Eiffel: the Language","author":"Meyer Bertrand","year":"1992","unstructured":"Bertrand Meyer . Eiffel: the Language . Prentice Hall , New York, NY , first edition, 1992 .]] Bertrand Meyer. Eiffel: the Language. Prentice Hall, New York, NY, first edition, 1992.]]"},{"key":"e_1_3_2_1_27_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 available at http: \/\/research.microsoft.com\/projects\/clrgen\/.]] Microsoft Corporation. Generics in C#, September 2002. Part of the Gyro distribution of generics for .NET available at http: \/\/research.microsoft.com\/projects\/clrgen\/.]]"},{"key":"e_1_3_2_1_28_1","unstructured":"Microsoft Corporation. C# Version 2.0 Specification March 2005 Draft March 2005. http:\/\/msdn.microsoft.com\/vcsharp\/-programming\/language.]]  Microsoft Corporation. C# Version 2.0 Specification March 2005 Draft March 2005. http:\/\/msdn.microsoft.com\/vcsharp\/-programming\/language.]]"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.5555\/646156.679834"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/949305.949325"},{"key":"e_1_3_2_1_31_1","volume-title":"The Definition of Standard ML","author":"Milner Robin","year":"1990","unstructured":"Robin Milner , Mads Tofte , and Robert Harper . The Definition of Standard ML . MIT Press , 1990 .]] Robin Milner, Mads Tofte, and Robert Harper. The Definition of Standard ML. MIT Press, 1990.]]"},{"key":"e_1_3_2_1_32_1","volume-title":"Proceedings of International Symposium on Symbolic and Algebraic Computation","volume":"358","author":"David","year":"1989","unstructured":"David A. Musser and Alexander A. Stepanov. Generic Programming . In Proceedings of International Symposium on Symbolic and Algebraic Computation , volume 358 of Lecture Notes in Computer Science, pages 13--25, Rome, Italy , 1989 .]] David A. Musser and Alexander A. Stepanov. Generic Programming. In Proceedings of International Symposium on Symbolic and Algebraic Computation, volume 358 of Lecture Notes in Computer Science, pages 13--25, Rome, Italy, 1989.]]"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/1103845.1094815"},{"key":"e_1_3_2_1_35_1","volume-title":"Proceedings of the Second Haskell Workshop","author":"Jones Simon Peyton","year":"1997","unstructured":"Simon Peyton Jones , Mark Jones , and Erik Meijer . Type classes: an exploration of the design space . In Proceedings of the Second Haskell Workshop , June 1997 .]] Simon Peyton Jones, Mark Jones, and Erik Meijer. Type classes: an exploration of the design space. In Proceedings of the Second Haskell Workshop, June 1997.]]"},{"key":"e_1_3_2_1_37_1","volume-title":"The Boost Graph Library: User Guide and Reference Manual","author":"Siek Jeremy","year":"2002","unstructured":"Jeremy Siek , Lie-Quan Lee , and Andrew Lumsdaine . The Boost Graph Library: User Guide and Reference Manual . Addison-Wesley Longman Publishing Co., Inc. , Boston, MA, USA , 2002 .]] Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine. The Boost Graph Library: User Guide and Reference Manual. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2002.]]"},{"key":"e_1_3_2_1_38_1","volume-title":"Modern Software Tools for Scientific Computing","author":"Siek Jeremy","year":"1999","unstructured":"Jeremy Siek and Andrew Lumsdaine . A modern framework for portable high performance numerical linear algebra . In Modern Software Tools for Scientific Computing . Birkh\u00e4user , 1999 .]] Jeremy Siek and Andrew Lumsdaine. A modern framework for portable high performance numerical linear algebra. In Modern Software Tools for Scientific Computing. Birkh\u00e4user, 1999.]]"},{"key":"e_1_3_2_1_39_1","volume-title":"First Workshop on C++ Template Programming","author":"Siek Jeremy","year":"2000","unstructured":"Jeremy Siek and Andrew Lumsdaine . Concept checking : Binding parametric polymorphism in C++ . In First Workshop on C++ Template Programming , October 2000 .]] Jeremy Siek and Andrew Lumsdaine. Concept checking: Binding parametric polymorphism in C++. In First Workshop on C++ Template Programming, October 2000.]]"},{"key":"e_1_3_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065021"},{"key":"e_1_3_2_1_41_1","unstructured":"Silicon Graphics Inc. SGI Implementation of the Standard Template Library 2004. http:\/\/www.sgi.com\/tech\/stl\/.]]  Silicon Graphics Inc. SGI Implementation of the Standard Template Library 2004. http:\/\/www.sgi.com\/tech\/stl\/.]]"},{"key":"e_1_3_2_1_43_1","volume-title":"Design and Evolution of C++","author":"Stroustrup Bjarne","year":"1994","unstructured":"Bjarne Stroustrup . Design and Evolution of C++ . Addison-Wesley Longman Publishing Co., Inc. , Boston, MA, USA , 1994 .]] Bjarne Stroustrup. Design and Evolution of C++. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1994.]]"},{"key":"e_1_3_2_1_47_1","unstructured":"The GHC Team. The Glorious Glasgow Haskell Compilation System User's Guide version 6.4.1 edition. http:\/\/www.haskell.org\/ghc\/docs\/latest\/html\/users guide\/index.html.]]  The GHC Team. The Glorious Glasgow Haskell Compilation System User's Guide version 6.4.1 edition. http:\/\/www.haskell.org\/ghc\/docs\/latest\/html\/users guide\/index.html.]]"},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/75277.75283"},{"key":"e_1_3_2_1_49_1","volume-title":"Boost","author":"Walter J\u00f6rg","year":"2002","unstructured":"J\u00f6rg Walter and Mathias Koch . Boost Basic Linear Algebra . Boost , 2002 . www.boost.org\/libs\/numeric.]] J\u00f6rg Walter and Mathias Koch. Boost Basic Linear Algebra. Boost, 2002. www.boost.org\/libs\/numeric.]]"}],"event":{"name":"PLDI06: ACM SIGPLAN Conference on Programming Language Design and Implementation 2006","location":"Ottawa Ontario Canada","acronym":"PLDI06","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","ACM Association for Computing Machinery","SIGSOFT ACM Special Interest Group on Software Engineering"]},"container-title":["Proceedings of the 27th ACM SIGPLAN Conference on Programming Language Design and Implementation"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1133981.1134014","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1133981.1134014","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T11:06:30Z","timestamp":1750244790000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1133981.1134014"}},"subtitle":["challenges of constrained generics in C++"],"short-title":[],"issued":{"date-parts":[[2006,6,11]]},"references-count":41,"alternative-id":["10.1145\/1133981.1134014","10.1145\/1133981"],"URL":"https:\/\/doi.org\/10.1145\/1133981.1134014","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/1133255.1134014","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2006,6,11]]},"assertion":[{"value":"2006-06-11","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}