{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:47:28Z","timestamp":1772164048362,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":48,"publisher":"ACM","license":[{"start":{"date-parts":[[2013,10,27]],"date-time":"2013-10-27T00:00:00Z","timestamp":1382832000000},"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":[[2013,10,27]]},"DOI":"10.1145\/2517208.2517222","type":"proceedings-article","created":{"date-parts":[[2013,10,23]],"date-time":"2013-10-23T11:29:17Z","timestamp":1382527757000},"page":"33-42","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":8,"title":["Open pattern matching for C++"],"prefix":"10.1145","author":[{"given":"Yuriy","family":"Solodkyy","sequence":"first","affiliation":[{"name":"Texas A&amp;M University, College Station, TX, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Gabriel","family":"Dos Reis","sequence":"additional","affiliation":[{"name":"Texas A&amp;M University, College Station, TX, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Bjarne","family":"Stroustrup","sequence":"additional","affiliation":[{"name":"Texas A&amp;M University, College Station, TX, USA"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2013,10,27]]},"reference":[{"key":"e_1_3_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.5555\/5280.5303"},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2384577.2384582"},{"key":"e_1_3_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.5555\/230849.230854"},{"key":"e_1_3_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/12.1.41"},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1145\/800055.802037"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/1596550.1596591"},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1291151.1291159"},{"key":"e_1_3_2_1_8_1","first-page":"407","volume-title":"Joint ASCM'09 and MACIS'09","author":"Dos Reis G.","unstructured":"G. Dos Reis and B. Stroustrup . A principled, complete, and efficient representation of C++ . In Joint ASCM'09 and MACIS'09 , pp. 407 -- 421 . G. Dos Reis and B. Stroustrup. A principled, complete, and efficient representation of C++. In Joint ASCM'09 and MACIS'09, pp. 407--421."},{"key":"e_1_3_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/321203.321207"},{"key":"e_1_3_2_1_11_1","volume-title":"Universit\u00e4t Potsdam. Univ.-Verlag","author":"Geller F.","year":"2010","unstructured":"F. Geller , R. Hirschfeld , and G. Bracha . Pattern Matching for an object-oriented and dynamically typed programming language. Technische Berichte , Universit\u00e4t Potsdam. Univ.-Verlag , 2010 . F. Geller, R. Hirschfeld, and G. Bracha. Pattern Matching for an object-oriented and dynamically typed programming language. Technische Berichte, Universit\u00e4t Potsdam. Univ.-Verlag, 2010."},{"key":"e_1_3_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/512760.512773"},{"key":"e_1_3_2_1_13_1","first-page":"150","volume-title":"Proc. PADL'08","author":"Hirzel M.","unstructured":"M. Hirzel , N. Nystrom , B. Bloom , and J. Vitek . Matchete: Paths through the pattern matching jungle . In Proc. PADL'08 , pp. 150 -- 166 . M. Hirzel, N. Nystrom, B. Bloom, and J. Vitek. Matchete: Paths through the pattern matching jungle. In Proc. PADL'08, pp. 150--166."},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2384577.2384581"},{"key":"e_1_3_2_1_15_1","volume-title":"Purely Functional Language: Version 1.0","author":"Hudak P.","year":"1990","unstructured":"P. Hudak , H. Committee , P. Wadler , and S. Jones . Report on the Programming Language Haskell: A Non-strict , Purely Functional Language: Version 1.0 . ML Library . Haskell Committee, 1990 . P. Hudak, H. Committee, P. Wadler, and S. Jones. Report on the Programming Language Haskell: A Non-strict, Purely Functional Language: Version 1.0. ML Library. Haskell Committee, 1990."},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/28697.28732"},{"key":"e_1_3_2_1_17_1","volume-title":"Programming languages: C++","author":"International Organization for Standardization. ISO\/IEC 14882:2011","year":"2011","unstructured":"International Organization for Standardization. ISO\/IEC 14882:2011 : Programming languages: C++ . Geneva, Switzerland , 2011 . International Organization for Standardization. ISO\/IEC 14882:2011: Programming languages: C++. Geneva, Switzerland, 2011."},{"issue":"6","key":"e_1_3_2_1_18_1","first-page":"25","volume":"21","author":"J\u00e4rvi J.","year":"2003","unstructured":"J. J\u00e4rvi , J. Willcock , H. Hinnant , and A. Lumsdaine . Function overloading based on arbitrary properties of types. C\/C++ Users Journal , 21 ( 6 ): 25 -- 32 , June 2003 . J. J\u00e4rvi, J. Willcock, H. Hinnant, and A. Lumsdaine. Function overloading based on arbitrary properties of types. C\/C++ Users Journal, 21(6):25--32, June 2003.","journal-title":"Function overloading based on arbitrary properties of types. C\/C++ Users Journal"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"crossref","DOI":"10.1007\/978-3-540-89185-7","volume-title":"Pattern Calculus: Computing with Functions and Structures","author":"Jay B.","year":"2009","unstructured":"B. Jay . Pattern Calculus: Computing with Functions and Structures . Springer Publishing Company, Inc orporated, 1st edition, 2009 . B. Jay. Pattern Calculus: Computing with Functions and Structures. Springer Publishing Company, Incorporated, 1st edition, 2009."},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796808007144"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/507635.507641"},{"key":"e_1_3_2_1_22_1","volume-title":"A C++ based pattern matching language. Technical report","author":"Leung A.","year":"1996","unstructured":"A. Leung . Prop : A C++ based pattern matching language. Technical report , Courant Institute, New York University , 1996 . A. Leung. Prop: A C++ based pattern matching language. Technical report, Courant Institute, New York University, 1996."},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/141471.141499"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1411304.1411311"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1017\/S095679680800676X"},{"key":"e_1_3_2_1_26_1","volume-title":"IBM","author":"Morton G. M.","year":"1966","unstructured":"G. M. Morton . A computer-oriented geodetic data base and a new technique in file sequencing. Technical report , IBM , Ottawa, Canada , 1966 . G. M. Morton. A computer-oriented geodetic data base and a new technique in file sequencing. Technical report, IBM, Ottawa, Canada, 1966."},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/1449764.1449808"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1411204.1411252"},{"key":"e_1_3_2_1_29_1","unstructured":"G. Nelan. An algebraic typing & pattern matching preprocessor for C++ 2000. http:\/\/www.primenet.com\/georgen\/app.html.  G. Nelan. An algebraic typing & pattern matching preprocessor for C++ 2000. http:\/\/www.primenet.com\/georgen\/app.html."},{"key":"e_1_3_2_1_30_1","volume-title":"An overview of the Scala programming language","author":"Odersky M.","year":"2006","unstructured":"M. Odersky , V. Cremet , I. Dragos , G. Dubochet , B. Emir , S. Mcdirmid , S. Micheloud , N. Mihaylov , M. Schinz , E. Stenman , L. Spoon , and M. Zenger . An overview of the Scala programming language ( 2 nd edition). Technical report, EPTF , 2006 . M. Odersky, V. Cremet, I. Dragos, G. Dubochet, B. Emir, S. Mcdirmid, S. Micheloud, N. Mihaylov, M. Schinz, E. Stenman, L. Spoon, and M. Zenger. An overview of the Scala programming language (2nd edition). Technical report, EPTF, 2006.","edition":"2"},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/263699.263715"},{"key":"e_1_3_2_1_32_1","volume-title":"Purely Functional Data Structures","author":"Okasaki C.","year":"1999","unstructured":"C. Okasaki . Purely Functional Data Structures . Cambridge University Press , 1999 . C. Okasaki. Purely Functional Data Structures. Cambridge University Press, 1999."},{"key":"e_1_3_2_1_33_1","unstructured":"N. Oosterhof. App.lication patterns in functional languages 2005.  N. Oosterhof. App.lication patterns in functional languages 2005."},{"key":"e_1_3_2_1_34_1","volume-title":"http:\/\/functionalcsharp.codeplex.com\/","author":"Pentangelo E.","year":"2011","unstructured":"E. Pentangelo . Functional C#. http:\/\/functionalcsharp.codeplex.com\/ , 2011 . E. Pentangelo. Functional C#. http:\/\/functionalcsharp.codeplex.com\/, 2011."},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"crossref","unstructured":"P. Pirkelbauer. Programming Language Evolution and Source Code Rejuvenation. PhD thesis Texas A&M University December 2010.   P. Pirkelbauer. Programming Language Evolution and Source Code Rejuvenation. PhD thesis Texas A&M University December 2010.","DOI":"10.1007\/978-3-642-11266-9_53"},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/1289971.1289993"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1006\/jsco.1993.1001"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796808007089"},{"key":"e_1_3_2_1_39_1","volume-title":"OOMatch: pattern matching as dispatch in Java. Master's thesis","author":"Richard A.","year":"2007","unstructured":"A. Richard . OOMatch: pattern matching as dispatch in Java. Master's thesis , University of Waterloo , October 2007 . A. Richard. OOMatch: pattern matching as dispatch in Java. Master's thesis, University of Waterloo, October 2007."},{"key":"e_1_3_2_1_40_1","unstructured":"Y. Solodkyy. Simplifying the Analysis of C++ Programs. PhD thesis Texas A&M University August 2013.  Y. Solodkyy. Simplifying the Analysis of C++ Programs. PhD thesis Texas A&M University August 2013."},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2384616.2384686"},{"key":"e_1_3_2_1_43_1","volume-title":"Extensible pattern matching in an extensible language","author":"Tobin-Hochstadt S.","year":"2010","unstructured":"S. Tobin-Hochstadt . Extensible pattern matching in an extensible language . September 2010 . S. Tobin-Hochstadt. Extensible pattern matching in an extensible language. September 2010."},{"key":"e_1_3_2_1_44_1","first-page":"1","volume-title":"Proc. PADL'00","author":"Tullsen M.","unstructured":"M. Tullsen . First class patterns . In Proc. PADL'00 , pp. 1 -- 15 . M. Tullsen. First class patterns. In Proc. PADL'00, pp. 1--15."},{"key":"e_1_3_2_1_45_1","volume-title":"C++ templates: the complete guide","author":"Vandevoorde D.","year":"2003","unstructured":"D. Vandevoorde and N. Josuttis . C++ templates: the complete guide . Addison-Wesley , 2003 . D. Vandevoorde and N. Josuttis. C++ templates: the complete guide. Addison-Wesley, 2003."},{"key":"e_1_3_2_1_46_1","first-page":"26","volume":"7","author":"Veldhuizen T.","year":"1995","unstructured":"T. Veldhuizen . Expression templates. C++ Report , 7 : 26 -- 31 , 1995 . T. Veldhuizen. Expression templates. C++ Report, 7:26--31, 1995.","journal-title":"Report"},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"crossref","unstructured":"J. Visser. Matching objects without language extension. Journal of Object Technology 5.  J. Visser. Matching objects without language extension. Journal of Object Technology 5.","DOI":"10.5381\/jot.2006.5.8.a2"},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/41625.41653"},{"key":"e_1_3_2_1_49_1","volume-title":"Pattern matching for Scheme","author":"Wright A.","year":"1995","unstructured":"A. Wright and B. Duba . Pattern matching for Scheme . 1995 . A. Wright and B. Duba. Pattern matching for Scheme. 1995."},{"key":"e_1_3_2_1_50_1","first-page":"25","volume":"5","author":"Yngve V. H.","year":"1958","unstructured":"V. H. Yngve . A programming language for mechanical translation. Mechanical Translation , 5 : 25 -- 41 , July 1958 . V. H. Yngve. A programming language for mechanical translation. Mechanical Translation, 5:25--41, July 1958.","journal-title":"Mechanical Translation"}],"event":{"name":"GPCE'13: Generative Programming: Concepts and Experiences","location":"Indianapolis Indiana USA","acronym":"GPCE'13","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"]},"container-title":["Proceedings of the 12th international conference on Generative programming: concepts &amp; experiences"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2517208.2517222","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2517208.2517222","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T03:28:40Z","timestamp":1750217320000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2517208.2517222"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2013,10,27]]},"references-count":48,"alternative-id":["10.1145\/2517208.2517222","10.1145\/2517208"],"URL":"https:\/\/doi.org\/10.1145\/2517208.2517222","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/2637365.2517222","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2013,10,27]]},"assertion":[{"value":"2013-10-27","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}