{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,19]],"date-time":"2025-06-19T04:55:37Z","timestamp":1750308937477,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":38,"publisher":"ACM","license":[{"start":{"date-parts":[[2012,9,12]],"date-time":"2012-09-12T00:00:00Z","timestamp":1347408000000},"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":[[2012,9,12]]},"DOI":"10.1145\/2364394.2364400","type":"proceedings-article","created":{"date-parts":[[2012,9,12]],"date-time":"2012-09-12T13:01:27Z","timestamp":1347454887000},"page":"33-44","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Using functional languages to facilitate C++ metaprogramming"],"prefix":"10.1145","author":[{"given":"Seyed Hossein","family":"Haeri","sequence":"first","affiliation":[{"name":"Hamburg University of Technology, Hamburg, Germany"}]},{"given":"Sibylle","family":"Schupp","sequence":"additional","affiliation":[{"name":"Hamburg University of Technology, Hamburg, Germany"}]},{"given":"Jonathan","family":"H\u00fcser","sequence":"additional","affiliation":[{"name":"Hamburg University of Technology, Hamburg, Germany"}]}],"member":"320","published-online":{"date-parts":[[2012,9,12]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"International Standard ISO\/IEC 14882:1998(E): Programming languages - C++ (1998).  International Standard ISO\/IEC 14882:1998(E): Programming languages - C++ (1998)."},{"key":"e_1_3_2_1_2_1","unstructured":"International Standard ISO\/IEC 14882:2011: Information technology - Programming languages - C++ (2011).  International Standard ISO\/IEC 14882:2011: Information technology - Programming languages - C++ (2011)."},{"key":"e_1_3_2_1_3_1","volume-title":"AW Prof.","author":"Abrahams D.","year":"2004","unstructured":"D. Abrahams and A. Gurtovoy , C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond (C++ in Depth Series) , AW Prof. , 2004 . D. Abrahams and A. Gurtovoy, C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond (C++ in Depth Series), AW Prof., 2004."},{"key":"e_1_3_2_1_4_1","volume-title":"AWProf. Comp. Series, AW Longman Publ","author":"Austern M. H.","year":"1998","unstructured":"M. H. Austern , Generic Programming and the STL: Using and Extending the C++ Standard Template Library , AWProf. Comp. Series, AW Longman Publ . Co ., 1998 . M. H. Austern, Generic Programming and the STL: Using and Extending the C++ Standard Template Library, AWProf. Comp. Series, AW Longman Publ. Co., 1998."},{"key":"e_1_3_2_1_5_1","unstructured":"W. Brown A Preliminary Proposal for a Static if WG21\/N3322 = PL22.16\/12-0012.  W. Brown A Preliminary Proposal for a Static if WG21\/N3322 = PL22.16\/12-0012."},{"key":"e_1_3_2_1_6_1","volume-title":"BoostCon","author":"Calabrese M.","year":"2011","unstructured":"M. Calabrese , Boost.generic : Concepts without concepts , BoostCon 2011 , http:\/\/boostcon.boost.org\/program\/sessions\/. M. Calabrese, Boost.generic: Concepts without concepts, BoostCon 2011, http:\/\/boostcon.boost.org\/program\/sessions\/."},{"key":"e_1_3_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1167473.1167499"},{"key":"e_1_3_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2427048.2427051"},{"key":"e_1_3_2_1_9_1","first-page":"1","volume-title":"Spring School on Datatype-Generic Prog","author":"Gibbons J.","year":"2007","unstructured":"J. Gibbons , Datatype-Generic Prog . , Spring School on Datatype-Generic Prog . (R. Backhouse, J. Gibbons, R. Hinze, and J. Jeuring, eds.), LNCS, vol. 4719 , Springer-Verlag , 2007 , pp. 1 -- 72 . J. Gibbons, Datatype-Generic Prog., Spring School on Datatype-Generic Prog. (R. Backhouse, J. Gibbons, R. Hinze, and J. Jeuring, eds.), LNCS, vol. 4719, Springer-Verlag, 2007, pp. 1--72."},{"key":"e_1_3_2_1_10_1","unstructured":"S. Golodotz Functional Programming Using C++ Templates (Part 1) Overload J. #81 http:\/\/accu.org\/index.php\/journals\/1422.  S. Golodotz Functional Programming Using C++ Templates (Part 1) Overload J. #81 http:\/\/accu.org\/index.php\/journals\/1422."},{"volume-title":"The Boost C++ Meta-Prog","author":"Gurtovoy A.","key":"e_1_3_2_1_11_1","unstructured":"A. Gurtovoy and D. Abrahams , The Boost C++ Meta-Prog . Library , http:\/\/www.boost.org\/. A. Gurtovoy and D. Abrahams, The Boost C++ Meta-Prog. Library, http:\/\/www.boost.org\/."},{"key":"e_1_3_2_1_12_1","unstructured":"J. de Guzman D. Marsden and T. Schwinger Boost Fusion Library: Library for working with tuples including various containers algorithms etc. http:\/\/www.boost.org\/.  J. de Guzman D. Marsden and T. Schwinger Boost Fusion Library: Library for working with tuples including various containers algorithms etc. http:\/\/www.boost.org\/."},{"key":"e_1_3_2_1_13_1","unstructured":"A. Lumsdaine J. J\u00e4rvi J. Willcock and M. Calabrese Boost Ratio Library: Enable If http:\/\/www.boost.org\/.  A. Lumsdaine J. J\u00e4rvi J. Willcock and M. Calabrese Boost Ratio Library: Enable If http:\/\/www.boost.org\/."},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/1411318.1411324"},{"key":"e_1_3_2_1_15_1","unstructured":"V. Karvonen and P. Mensonides The Boost Library Preprocessor Subset for C\/C++ http:\/\/www.boost.org\/.  V. Karvonen and P. Mensonides The Boost Library Preprocessor Subset for C\/C++ http:\/\/www.boost.org\/."},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/158511.158618"},{"key":"e_1_3_2_1_17_1","volume-title":"Multiparadigm Prog. with Object-Oriented Lang., an ECOOP W.","author":"Zalewski M.","year":"2007","unstructured":"M. Zalewski , A. Priesnitz , C. Ionescu , N. Botta , and S. Schupp , Multi-language Library Development: From HASKELL Type Classes to C++ Concepts , Multiparadigm Prog. with Object-Oriented Lang., an ECOOP W. , 2007 . M. Zalewski, A. Priesnitz, C. Ionescu, N. Botta, and S. Schupp, Multi-language Library Development: From HASKELL Type Classes to C++ Concepts, Multiparadigm Prog. with Object-Oriented Lang., an ECOOP W., 2007."},{"volume-title":"Rational Structure","author":"Microsoft","key":"e_1_3_2_1_18_1","unstructured":"Microsoft , Rational Structure , Microsoft Solver Foundation 3.0, http:\/\/msdn.microsoft.com\/en-us\/library\/microsoft.solverfoundation.common.rational(v=vs.93).aspx#Y0. Microsoft, Rational Structure, Microsoft Solver Foundation 3.0, http:\/\/msdn.microsoft.com\/en-us\/library\/microsoft.solverfoundation.common.rational(v=vs.93).aspx#Y0."},{"key":"e_1_3_2_1_19_1","unstructured":"B. Milewski Bartosz Milewski's Prog. Cafe: Concurrency Multicore C++ Haskell http:\/\/bartoszmilewski.wordpress.com\/.  B. Milewski Bartosz Milewski's Prog. Cafe: Concurrency Multicore C++ Haskell http:\/\/bartoszmilewski.wordpress.com\/."},{"key":"e_1_3_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1016\/0890-5401(91)90052-4"},{"key":"e_1_3_2_1_21_1","unstructured":"E. Niebler Boost Proto Library: Expression template library and compiler construction toolkit for domain-specific embedded langs. http:\/\/www.boost.org\/.  E. Niebler Boost Proto Library: Expression template library and compiler construction toolkit for domain-specific embedded langs. http:\/\/www.boost.org\/."},{"key":"e_1_3_2_1_22_1","unstructured":"P. Moore Boost Rational Library: A rational number class http:\/\/www.boost.org\/.  P. Moore Boost Rational Library: A rational number class http:\/\/www.boost.org\/."},{"key":"e_1_3_2_1_23_1","volume-title":"Dec","author":"Plasmeijer R.","year":"2001","unstructured":"R. Plasmeijer and M. van Eekelen , Concurrent CLEAN Language Report (v 2.0) , Dec 2001 , http:\/\/www.cs.kun.nl\/~clean\/contents\/contents.html. R. Plasmeijer and M. van Eekelen, Concurrent CLEAN Language Report (v 2.0), Dec 2001, http:\/\/www.cs.kun.nl\/~clean\/contents\/contents.html."},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.1145\/1837852.1621613"},{"key":"e_1_3_2_1_25_1","unstructured":"D. Sankel Algebraic Data Types Series C++Next: The next generation of C++ http:\/\/cpp-next.com\/archive\/2010\/07\/algebraic-data-types\/.  D. Sankel Algebraic Data Types Series C++Next: The next generation of C++ http:\/\/cpp-next.com\/archive\/2010\/07\/algebraic-data-types\/."},{"key":"e_1_3_2_1_26_1","volume-title":"Proc. Int. Conf. Theoretical and Math. Foundations of Comp. Sci. (TMFCS-10)","author":"Observational S. H. HAERI","year":"2010","unstructured":"S. H. HAERI , Observational Equivalence and a New Operational Semantics for Lazy Evaluation with Selective Strictness , Proc. Int. Conf. Theoretical and Math. Foundations of Comp. Sci. (TMFCS-10) , 2010 . S. H. HAERI, Observational Equivalence and a New Operational Semantics for Lazy Evaluation with Selective Strictness, Proc. Int. Conf. Theoretical and Math. Foundations of Comp. Sci. (TMFCS-10), 2010."},{"key":"e_1_3_2_1_27_1","first-page":"29952012","volume-title":"Uni. Kansas","author":"Schupp S.","year":"2011","unstructured":"S. H. HAERI and S. Schupp , Functional Metaprogramming in C++ and Cross-Lingual Development with HASKELL, Tech. report , Uni. Kansas , Oct 2011 , Draft Proc. 23rd Symp. Impl. and Appl. Func. Langs., ITTC-FY 2012-TR- 29952012 - 29952001 . S. H. HAERI and S. Schupp, Functional Metaprogramming in C++ and Cross-Lingual Development with HASKELL, Tech. report, Uni. Kansas, Oct 2011, Draft Proc. 23rd Symp. Impl. and Appl. Func. Langs., ITTC-FY2012-TR-29952012-01."},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2011.06.006"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.entcs.2011.11.036"},{"key":"e_1_3_2_1_30_1","first-page":"1","volume-title":"TFP","author":"Porkol\u00e1b Sinkovics","year":"2009","unstructured":"\u00c1. Sinkovics and Z. Porkol\u00e1b , Expressing C++ Template Metaprograms as Lambda Expressions , TFP (Z. Horv\u00e1th, V. Zs\u00f3k, P. Achten, and P. Koopman, eds.), Trends in Func. Prog., vol. 10 , Intellect, UK\/The Uni. Chicago Press , USA, June 2-4 2009 , pp. 1 -- 15 . \u00c1. Sinkovics and Z. Porkol\u00e1b, Expressing C++ Template Metaprograms as Lambda Expressions, TFP (Z. Horv\u00e1th, V. Zs\u00f3k, P. Achten, and P. Koopman, eds.), Trends in Func. Prog., vol. 10, Intellect, UK\/The Uni. Chicago Press, USA, June 2-4 2009, pp. 1--15."},{"key":"e_1_3_2_1_31_1","volume-title":"Tech. report, E\u00f6tv\u00f6s Lor\u00e1nd Uni, Fac. of Inf., Dept. Prog. Langs., P\u00e1zm\u00e1ny P\u00e9ter s\u00e9t\u00e1ny 1\/C H-1117 Budapest","author":"Porkol\u00e1b Z.","year":"2007","unstructured":"\u00c1. Sipos, Z. Porkol\u00e1b , N. Pataki , and V. Zs\u00f3k , Meta Fun: Towards a Functional-Style Interface for C++ Template Metaprograms , Tech. report, E\u00f6tv\u00f6s Lor\u00e1nd Uni, Fac. of Inf., Dept. Prog. Langs., P\u00e1zm\u00e1ny P\u00e9ter s\u00e9t\u00e1ny 1\/C H-1117 Budapest , Hungary , 2007 . \u00c1. Sipos, Z. Porkol\u00e1b, N. Pataki, and V. Zs\u00f3k, Meta Fun: Towards a Functional-Style Interface for C++ Template Metaprograms, Tech. report, E\u00f6tv\u00f6s Lor\u00e1nd Uni, Fac. of Inf., Dept. Prog. Langs., P\u00e1zm\u00e1ny P\u00e9ter s\u00e9t\u00e1ny 1\/C H-1117 Budapest, Hungary, 2007."},{"key":"e_1_3_2_1_32_1","volume-title":"Prime Number Computation","author":"Unruh E.","year":"1994","unstructured":"E. Unruh , Prime Number Computation , 1994 , ANSI X3J16-94-0075\/ISO WG 21-462. E. Unruh, Prime Number Computation, 1994, ANSI X3J16-94-0075\/ISO WG21-462."},{"key":"e_1_3_2_1_33_1","first-page":"245","volume-title":"Impl. and Appl. of Func. Langs., 16th Int. W., IFL04 (L\u00fcebeck, Germany)","author":"van Eekelen M.","year":"2004","unstructured":"M. van Eekelen and M. de Mol , Mixed lazy\/strict graph semantics , Impl. and Appl. of Func. Langs., 16th Int. W., IFL04 (L\u00fcebeck, Germany) (C. Grelck and F. Huch, eds.), Tech. Rep. 0408, Christian-Albrechts-Universit\u00e4t zu Kiel , September 2004 , pp. 245 -- 260 . M. van Eekelen and M. de Mol, Mixed lazy\/strict graph semantics, Impl. and Appl. of Func. Langs., 16th Int. W., IFL04 (L\u00fcebeck, Germany) (C. Grelck and F. Huch, eds.), Tech. Rep. 0408, Christian-Albrechts-Universit\u00e4t zu Kiel, September 2004, pp. 245--260."},{"key":"e_1_3_2_1_34_1","first-page":"5","volume":"7","author":"Veldhuizen T.","year":"1995","unstructured":"T. Veldhuizen , Expression Templates , C++ Report 7 ( 1995 ), no. 5 , 26--31. T. Veldhuizen, Expression Templates, C++ Report 7 (1995), no. 5, 26--31.","journal-title":"Report"},{"key":"e_1_3_2_1_35_1","unstructured":"V. J. Botet Escrib\u00e1 Boost Ratio Library: Compile time rational arithmetic http:\/\/www.boost.org\/.  V. J. Botet Escrib\u00e1 Boost Ratio Library: Compile time rational arithmetic http:\/\/www.boost.org\/."},{"key":"e_1_3_2_1_36_1","unstructured":"W. Bright H. Sutter and A. Alexandrescu Proposal: static if declaration JTC1\/SC22\/WG21 N3329.  W. Bright H. Sutter and A. Alexandrescu Proposal: static if declaration JTC1\/SC22\/WG21 N3329."},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1942788.1868319"},{"key":"e_1_3_2_1_38_1","first-page":"99","volume-title":"Proc. 8th Int. Conf. Generative Prog. & Component Engineering (GPCE 2009)","author":"Porkol\u00e1b Z.","year":"2009","unstructured":"Z. Porkol\u00e1b and \u00c1. Sinkovics, C++ Template Metaprogramming with Embedded Haskell , Proc. 8th Int. Conf. Generative Prog. & Component Engineering (GPCE 2009) (New York, NY, USA), ACM , 2009 , pp. 99 -- 108 . Z. Porkol\u00e1b and \u00c1. Sinkovics, C++ Template Metaprogramming with Embedded Haskell, Proc. 8th Int. Conf. Generative Prog. & Component Engineering (GPCE 2009) (New York, NY, USA), ACM, 2009, pp. 99--108."}],"event":{"name":"ICFP'12: ACM SIGPLAN International Conference on Functional Programming","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"],"location":"Copenhagen Denmark","acronym":"ICFP'12"},"container-title":["Proceedings of the 8th ACM SIGPLAN workshop on Generic programming"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2364394.2364400","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/2364394.2364400","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T21:36:59Z","timestamp":1750282619000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/2364394.2364400"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2012,9,12]]},"references-count":38,"alternative-id":["10.1145\/2364394.2364400","10.1145\/2364394"],"URL":"https:\/\/doi.org\/10.1145\/2364394.2364400","relation":{},"subject":[],"published":{"date-parts":[[2012,9,12]]},"assertion":[{"value":"2012-09-12","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}