{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T04:21:49Z","timestamp":1750220509254,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":67,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,11,16]],"date-time":"2020-11-16T00:00:00Z","timestamp":1605484800000},"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":[[2020,11,16]]},"DOI":"10.1145\/3425898.3426961","type":"proceedings-article","created":{"date-parts":[[2020,11,25]],"date-time":"2020-11-25T01:26:21Z","timestamp":1606267581000},"page":"35-49","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":4,"title":["Multi-stage programming in the large with staged classes"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-8805-0728","authenticated-orcid":false,"given":"Lionel","family":"Parreaux","sequence":"first","affiliation":[{"name":"EPFL, Switzerland"}]},{"given":"Amir","family":"Shaikhha","sequence":"additional","affiliation":[{"name":"University of Edinburgh, UK"}]}],"member":"320","published-online":{"date-parts":[[2020,11,16]]},"reference":[{"volume-title":"Concepts, Tools, and Techniques from Boost and Beyond (C++ in Depth Series)","author":"Abrahams David","key":"e_1_3_2_2_1_1","unstructured":"David Abrahams and Aleksey Gurtovoy . 2004. C+ + Template Metaprogramming : Concepts, Tools, and Techniques from Boost and Beyond (C++ in Depth Series) . Addison-Wesley Professional . David Abrahams and Aleksey Gurtovoy. 2004. C+ + Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond (C++ in Depth Series). Addison-Wesley Professional."},{"key":"e_1_3_2_2_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/2723372.2742797"},{"key":"e_1_3_2_2_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/2489837.2489840"},{"key":"e_1_3_2_2_4_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796809007205"},{"key":"e_1_3_2_2_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2500365.2500586"},{"key":"e_1_3_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/1806596.1806612"},{"key":"e_1_3_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1145\/2499370.2462166"},{"key":"e_1_3_2_2_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/2594291.2594307"},{"key":"e_1_3_2_2_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/507669.507646"},{"key":"e_1_3_2_2_11_1","doi-asserted-by":"crossref","unstructured":"Robert Gl\u00fcck and Jesper J\u00f8rgensen. 1997. An automatic program generator for multi-level specialization. Lisp and symbolic computation 10 2 ( 1997 ) 113-158.  Robert Gl\u00fcck and Jesper J\u00f8rgensen. 1997. An automatic program generator for multi-level specialization. Lisp and symbolic computation 10 2 ( 1997 ) 113-158.","DOI":"10.1023\/A:1007763000430"},{"key":"e_1_3_2_2_12_1","unstructured":"Google. 2008. Protocol bufers. htps:\/\/github.com\/protocolbufers\/ protobuf. Accessed: 2019-04-06.  Google. 2008. Protocol bufers. htps:\/\/github.com\/protocolbufers\/ protobuf. Accessed: 2019-04-06."},{"key":"e_1_3_2_2_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/2884045.2884049"},{"key":"e_1_3_2_2_14_1","doi-asserted-by":"crossref","unstructured":"Paul Hudak. 1996. Building domain-specific embedded languages. ACM Computing Surveys (CSUR) 28 4es ( 1996 ) 196.  Paul Hudak. 1996. Building domain-specific embedded languages. ACM Computing Surveys (CSUR) 28 4es ( 1996 ) 196.","DOI":"10.1145\/242224.242477"},{"key":"e_1_3_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1145\/2847538.2847548"},{"key":"e_1_3_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.1145\/2714064.2660241"},{"key":"e_1_3_2_2_17_1","doi-asserted-by":"publisher","DOI":"10.1145\/2774975.2774981"},{"volume-title":"The C+ + standard library: a tutorial and reference","author":"Josuttis Nicolai M","key":"e_1_3_2_2_18_1","unstructured":"Nicolai M Josuttis . 2012. The C+ + standard library: a tutorial and reference . Addison-Wesley . Nicolai M Josuttis. 2012. The C+ + standard library: a tutorial and reference. Addison-Wesley."},{"key":"e_1_3_2_2_19_1","first-page":"73","article-title":"Yin-Yang: Concealing the Deep Embedding of DSLs (GPCE 2014)","author":"Jovanovic Vojin","year":"2014","unstructured":"Vojin Jovanovic , Amir Shaikhha , Sandro Stucki , Vladimir Nikolaev , Christoph Koch , and Martin Odersky . 2014 . Yin-Yang: Concealing the Deep Embedding of DSLs (GPCE 2014) . ACM , 73 - 82 . Vojin Jovanovic, Amir Shaikhha, Sandro Stucki, Vladimir Nikolaev, Christoph Koch, and Martin Odersky. 2014. Yin-Yang: Concealing the Deep Embedding of DSLs (GPCE 2014). ACM, 73-82.","journal-title":"ACM"},{"key":"e_1_3_2_2_20_1","doi-asserted-by":"publisher","DOI":"10.1145\/2543728.2543740"},{"key":"e_1_3_2_2_21_1","volume-title":"Combinators for impure yet hygienic code generation. Science of Computer Programming 112 (part 2) (","author":"Kameyama Yukiyoshi","year":"2015","unstructured":"Yukiyoshi Kameyama , Oleg Kiselyov , and Chung-chieh Shan. 2015. Combinators for impure yet hygienic code generation. Science of Computer Programming 112 (part 2) ( 15 Nov. 2015 ), 120-144. htps: \/\/doi.org\/10.1016\/j.scico. 2015. 08.007 10.1016\/j.scico Yukiyoshi Kameyama, Oleg Kiselyov, and Chung-chieh Shan. 2015. Combinators for impure yet hygienic code generation. Science of Computer Programming 112 (part 2) ( 15 Nov. 2015 ), 120-144. htps: \/\/doi.org\/10.1016\/j.scico. 2015. 08.007"},{"key":"e_1_3_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/1111037.1111060"},{"key":"e_1_3_2_2_23_1","unstructured":"Oleg Kiselyov. 2017. MetaOCaml-an OCaml dialect for multi-stage programming. htps:\/\/web.archive.org\/web\/20170725111517\/htp: \/\/okmij.org\/ftp\/ML\/MetaOCaml.html  Oleg Kiselyov. 2017. MetaOCaml-an OCaml dialect for multi-stage programming. htps:\/\/web.archive.org\/web\/20170725111517\/htp: \/\/okmij.org\/ftp\/ML\/MetaOCaml.html"},{"key":"e_1_3_2_2_24_1","doi-asserted-by":"publisher","DOI":"10.1561\/9781680834376"},{"key":"e_1_3_2_2_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/3009837.3009880"},{"key":"e_1_3_2_2_26_1","doi-asserted-by":"crossref","unstructured":"Christoph Koch Yanif Ahmad Oliver Kennedy Milos Nikolic Andres N\u00f6tzli Daniel Lupei and Amir Shaikhha. 2014. DBToaster: Higherorder delta processing for dynamic frequently fresh views. VLDBJ 23 2 ( 2014 ).  Christoph Koch Yanif Ahmad Oliver Kennedy Milos Nikolic Andres N\u00f6tzli Daniel Lupei and Amir Shaikhha. 2014. DBToaster: Higherorder delta processing for dynamic frequently fresh views. VLDBJ 23 2 ( 2014 ).","DOI":"10.1007\/s00778-013-0348-4"},{"key":"e_1_3_2_2_27_1","doi-asserted-by":"publisher","DOI":"10.1145\/319838.319859"},{"key":"e_1_3_2_2_28_1","volume-title":"Krishnaswami and Jeremy Yallop","author":"Neelakantan","year":"2019","unstructured":"Neelakantan R. Krishnaswami and Jeremy Yallop . 2019 . A Typed, Algebraic Approach to Parsing (PLDI 2019 ). Association for Computing Machinery , New York, NY, USA, 379-393. Neelakantan R. Krishnaswami and Jeremy Yallop. 2019. A Typed, Algebraic Approach to Parsing (PLDI 2019 ). Association for Computing Machinery, New York, NY, USA, 379-393."},{"key":"e_1_3_2_2_29_1","volume-title":"Meta-programming and Multi-stage Programming for GPGPUs. In 2016 IEEE 10th International Symposium on Embedded Multicore\/Many-core Systems-on-Chip (MCSOC). 369-376","author":"Masliah I.","year":"2016","unstructured":"I. Masliah , M. Baboulin , and J. Falcou . 2016 . Meta-programming and Multi-stage Programming for GPGPUs. In 2016 IEEE 10th International Symposium on Embedded Multicore\/Many-core Systems-on-Chip (MCSOC). 369-376 . htps:\/\/doi.org\/10.1109\/ MCSoC. 2016 .49 I. Masliah, M. Baboulin, and J. Falcou. 2016. Meta-programming and Multi-stage Programming for GPGPUs. In 2016 IEEE 10th International Symposium on Embedded Multicore\/Many-core Systems-on-Chip (MCSOC). 369-376. htps:\/\/doi.org\/10.1109\/ MCSoC. 2016.49"},{"key":"e_1_3_2_2_30_1","volume-title":"Scala-virtualized. In Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation. ACM, 117-120","author":"Moors Adriaan","year":"2012","unstructured":"Adriaan Moors , Tiark Rompf , Philipp Haller , and Martin Odersky . 2012 . Scala-virtualized. In Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation. ACM, 117-120 . Adriaan Moors, Tiark Rompf, Philipp Haller, and Martin Odersky. 2012. Scala-virtualized. In Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation. ACM, 117-120."},{"key":"e_1_3_2_2_31_1","doi-asserted-by":"publisher","DOI":"10.1017\/S095679680500568X"},{"key":"e_1_3_2_2_32_1","doi-asserted-by":"crossref","unstructured":"Thomas Neumann. 2011. Eficiently Compiling Eficient Query Plans for Modern Hardware. PVLDB 4 9 ( 2011 ) 539-550.  Thomas Neumann. 2011. Eficiently Compiling Eficient Query Plans for Modern Hardware. PVLDB 4 9 ( 2011 ) 539-550.","DOI":"10.14778\/2002938.2002940"},{"key":"e_1_3_2_2_33_1","volume-title":"Metaphor: A Multi-stage, ObjectOriented Programming Language. In Generative Programming and Component Engineering (Lecture Notes in Computer Science)","author":"Neverov Gregory","year":"2004","unstructured":"Gregory Neverov and Paul Roe . 2004 . Metaphor: A Multi-stage, ObjectOriented Programming Language. In Generative Programming and Component Engineering (Lecture Notes in Computer Science) , Gabor Karsai and Eelco Visser (Eds.). Springer Berlin Heidelberg , 168-185. Gregory Neverov and Paul Roe. 2004. Metaphor: A Multi-stage, ObjectOriented Programming Language. In Generative Programming and Component Engineering (Lecture Notes in Computer Science), Gabor Karsai and Eelco Visser (Eds.). Springer Berlin Heidelberg, 168-185."},{"key":"e_1_3_2_2_34_1","first-page":"41","article-title":"Scalable Component Abstractions. In OOPSLA. San Diego","author":"Odersky Martin","year":"2005","unstructured":"Martin Odersky and Matthias Zenger . 2005 . Scalable Component Abstractions. In OOPSLA. San Diego , CA, USA , 41 - 57 . Martin Odersky and Matthias Zenger. 2005. Scalable Component Abstractions. In OOPSLA. San Diego, CA, USA, 41-57.","journal-title":"CA, USA"},{"key":"e_1_3_2_2_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2517208.2517228"},{"key":"e_1_3_2_2_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/3136040.3136049"},{"key":"e_1_3_2_2_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1869459.1869489"},{"key":"e_1_3_2_2_38_1","first-page":"131","volume-title":"Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE 2017 ). ACM","author":"Parreaux Lionel","unstructured":"Lionel Parreaux , Amir Shaikhha , and Christoph E. Koch . 2017. Quoted Staged Rewriting: A Practical Approach to Library-defined Optimizations . In Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE 2017 ). ACM , New York, NY, USA , 131 - 145 . htps:\/\/doi.org\/10.1145\/3136040. 3136043 10.1145\/3136040 Lionel Parreaux, Amir Shaikhha, and Christoph E. Koch. 2017. Quoted Staged Rewriting: A Practical Approach to Library-defined Optimizations. In Proceedings of the 16th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (GPCE 2017 ). ACM, New York, NY, USA, 131-145. htps:\/\/doi.org\/10.1145\/3136040. 3136043"},{"volume-title":"Proc. ACM Program. Lang. 2, POPL (Dec. 2017 ), 13 : 1-13 : 33","author":"Parreaux Lionel","key":"e_1_3_2_2_39_1","unstructured":"Lionel Parreaux , Antoine Voizard , Amir Shaikhha , and Christoph E. Koch . 2017. Unifying Analytic and Statically-typed Quasiquotes . Proc. ACM Program. Lang. 2, POPL (Dec. 2017 ), 13 : 1-13 : 33 . htps:\/\/doi.org\/ 10.1145\/3158101 10.1145\/3158101 Lionel Parreaux, Antoine Voizard, Amir Shaikhha, and Christoph E. Koch. 2017. Unifying Analytic and Statically-typed Quasiquotes. Proc. ACM Program. Lang. 2, POPL (Dec. 2017 ), 13 : 1-13 : 33. htps:\/\/doi.org\/ 10.1145\/3158101"},{"key":"e_1_3_2_2_40_1","doi-asserted-by":"publisher","DOI":"10.1145\/2908080.2908115"},{"key":"e_1_3_2_2_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2998392.2998399"},{"key":"e_1_3_2_2_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/2784731.2784760"},{"key":"e_1_3_2_2_43_1","first-page":"127","article-title":"Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs. In Generative Programming and Component Engineering. Eindhoven","author":"Rompf Tiark","year":"2010","unstructured":"Tiark Rompf and Martin Odersky . 2010 . Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs. In Generative Programming and Component Engineering. Eindhoven , The Netherlands , 127 - 136 . Tiark Rompf and Martin Odersky. 2010. Lightweight modular staging: a pragmatic approach to runtime code generation and compiled DSLs. In Generative Programming and Component Engineering. Eindhoven, The Netherlands, 127-136.","journal-title":"The Netherlands"},{"key":"e_1_3_2_2_44_1","first-page":"497","article-title":"Optimizing data structures in high-level programs: new directions for extensible compilers based on staging","author":"Rompf Tiark","year":"2013","unstructured":"Tiark Rompf , Arvind K. Sujeeth , Nada Amin , Kevin J. Brown , Vojin Jovanovic , HyoukJoong Lee , Manohar Jonnalagedda , Kunle Olukotun , and Martin Odersky . 2013 . Optimizing data structures in high-level programs: new directions for extensible compilers based on staging . In POPL. 497 - 510 . Tiark Rompf, Arvind K. Sujeeth, Nada Amin, Kevin J. Brown, Vojin Jovanovic, HyoukJoong Lee, Manohar Jonnalagedda, Kunle Olukotun, and Martin Odersky. 2013. Optimizing data structures in high-level programs: new directions for extensible compilers based on staging. In POPL. 497-510.","journal-title":"POPL."},{"key":"e_1_3_2_2_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/3133895"},{"key":"e_1_3_2_2_46_1","doi-asserted-by":"publisher","DOI":"10.1145\/3372884.3373160"},{"key":"e_1_3_2_2_47_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-44202-9_16"},{"key":"e_1_3_2_2_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/2814204.2814217"},{"key":"e_1_3_2_2_49_1","doi-asserted-by":"crossref","unstructured":"Amir Shaikhha Mohammad Dashti and Christoph Koch. 2018. Push versus Pull-Based Loop Fusion in Query Engines. Journal of Functional Programming 28 ( 2018 ) e10.  Amir Shaikhha Mohammad Dashti and Christoph Koch. 2018. Push versus Pull-Based Loop Fusion in Query Engines. Journal of Functional Programming 28 ( 2018 ) e10.","DOI":"10.1017\/S0956796818000102"},{"key":"e_1_3_2_2_50_1","first-page":"94","volume-title":"Proceedings of the 18th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (Athens, Greece) ( GPCE 2019 ). Association for Computing Machinery","author":"Shaikhha Amir","unstructured":"Amir Shaikhha , Vojin Jovanovic , and Christoph E. Koch . 2019. Compiler Generation for Performance-Oriented Embedded DSLs (Short Paper) . In Proceedings of the 18th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (Athens, Greece) ( GPCE 2019 ). Association for Computing Machinery , New York, NY, USA , 94 - 101 . htps:\/\/doi.org\/10.1145\/3357765.3359520 10.1145\/3357765.3359520 Amir Shaikhha, Vojin Jovanovic, and Christoph E. Koch. 2019. Compiler Generation for Performance-Oriented Embedded DSLs (Short Paper). In Proceedings of the 18th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences (Athens, Greece) ( GPCE 2019 ). Association for Computing Machinery, New York, NY, USA, 94-101. htps:\/\/doi.org\/10.1145\/3357765.3359520"},{"key":"e_1_3_2_2_51_1","doi-asserted-by":"publisher","DOI":"10.1145\/3183653"},{"key":"e_1_3_2_2_52_1","doi-asserted-by":"publisher","DOI":"10.1145\/2882903.2915244"},{"key":"e_1_3_2_2_53_1","volume-title":"Proceedings of the 33rd European Conference on Object-Oriented Programming","author":"Shaikhha Amir","year":"2019","unstructured":"Amir Shaikhha and Lionel Parreaux . 2019 . Finally, a Polymorphic Linear Algebra Language . In Proceedings of the 33rd European Conference on Object-Oriented Programming ( London, United Kingdom) (ECOOP'19). Amir Shaikhha and Lionel Parreaux. 2019. Finally, a Polymorphic Linear Algebra Language. In Proceedings of the 33rd European Conference on Object-Oriented Programming (London, United Kingdom) (ECOOP'19)."},{"key":"e_1_3_2_2_54_1","doi-asserted-by":"publisher","DOI":"10.1145\/331960.331975"},{"key":"e_1_3_2_2_55_1","doi-asserted-by":"publisher","DOI":"10.1145\/581690.581691"},{"key":"e_1_3_2_2_56_1","first-page":"609","volume-title":"Proceedings of the 28th International Conference on Machine Learning (ICML-11)","author":"Sujeeth Arvind","year":"2011","unstructured":"Arvind Sujeeth , HyoukJoong Lee , Kevin Brown , Tiark Rompf , Hassan Chafi , Michael Wu , Anand Atreya , Martin Odersky , and Kunle Olukotun . 2011 . OptiML: an implicitly parallel domain-specific language for machine learning . In Proceedings of the 28th International Conference on Machine Learning (ICML-11) . 609 - 616 . Arvind Sujeeth, HyoukJoong Lee, Kevin Brown, Tiark Rompf, Hassan Chafi, Michael Wu, Anand Atreya, Martin Odersky, and Kunle Olukotun. 2011. OptiML: an implicitly parallel domain-specific language for machine learning. In Proceedings of the 28th International Conference on Machine Learning (ICML-11). 609-616."},{"key":"e_1_3_2_2_57_1","doi-asserted-by":"publisher","DOI":"10.1145\/1111542.1111570"},{"key":"e_1_3_2_2_58_1","unstructured":"Don Syme Keith Battocchi Kenji Takeda Donna Malayeri Jomo Fisher Jack Hu Tao Liu Brian McNamara Daniel Quirk Matteo Taveggia Wonseok Chae Uladzimir Matsveyeu and Tomas Petricek. 2012. F# 3. 0-Strongly-Typed Language Support for Internet-Scale Information Sources. (Sept. 2012 ).  Don Syme Keith Battocchi Kenji Takeda Donna Malayeri Jomo Fisher Jack Hu Tao Liu Brian McNamara Daniel Quirk Matteo Taveggia Wonseok Chae Uladzimir Matsveyeu and Tomas Petricek. 2012. F# 3. 0-Strongly-Typed Language Support for Internet-Scale Information Sources. (Sept. 2012 )."},{"key":"e_1_3_2_2_60_1","doi-asserted-by":"publisher","DOI":"10.1145\/640128.604134"},{"key":"e_1_3_2_2_61_1","doi-asserted-by":"publisher","DOI":"10.1145\/258994.259019"},{"key":"e_1_3_2_2_62_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0304-3975(00)00053-0"},{"key":"e_1_3_2_2_63_1","doi-asserted-by":"publisher","DOI":"10.1145\/2814270.2814271"},{"key":"e_1_3_2_2_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/2509136.2509537"},{"key":"e_1_3_2_2_65_1","volume-title":"Josuttis","author":"Vandevoorde David","year":"2002","unstructured":"David Vandevoorde and Nicolai M . Josuttis . 2002 . C++ Templates. Addison-Wesley Longman Publishing Co. , Inc., Boston, MA, USA. David Vandevoorde and Nicolai M. Josuttis. 2002. C++ Templates. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA."},{"key":"e_1_3_2_2_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/3162072"},{"key":"e_1_3_2_2_67_1","first-page":"400","volume-title":"Mint: Java multi-stage programming using weak separability. ACM Sigplan Notices 45, 6 ( 2010 )","author":"Westbrook Edwin","year":"2010","unstructured":"Edwin Westbrook , Mathias Ricken , Jun Inoue , Yilong Yao , Tamer Abdelatif , and Walid Taha . 2010 . Mint: Java multi-stage programming using weak separability. ACM Sigplan Notices 45, 6 ( 2010 ) , 400 - 411 . Edwin Westbrook, Mathias Ricken, Jun Inoue, Yilong Yao, Tamer Abdelatif, and Walid Taha. 2010. Mint: Java multi-stage programming using weak separability. ACM Sigplan Notices 45, 6 ( 2010 ), 400-411."},{"key":"e_1_3_2_2_68_1","doi-asserted-by":"publisher","DOI":"10.1145\/3294032.3294078"},{"key":"e_1_3_2_2_69_1","volume-title":"OCaml Users and Developers Workshop.","author":"Yallop Jeremy","year":"2015","unstructured":"Jeremy Yallop and Leo White . 2015 . Modular macros . In OCaml Users and Developers Workshop. Jeremy Yallop and Leo White. 2015. Modular macros. In OCaml Users and Developers Workshop."}],"event":{"name":"GPCE '20: Concepts and Experiences","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages"],"location":"Virtual USA","acronym":"GPCE '20"},"container-title":["Proceedings of the 19th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3425898.3426961","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3425898.3426961","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T21:24:24Z","timestamp":1750195464000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3425898.3426961"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,11,16]]},"references-count":67,"alternative-id":["10.1145\/3425898.3426961","10.1145\/3425898"],"URL":"https:\/\/doi.org\/10.1145\/3425898.3426961","relation":{},"subject":[],"published":{"date-parts":[[2020,11,16]]},"assertion":[{"value":"2020-11-16","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}