{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,9]],"date-time":"2025-10-09T20:51:30Z","timestamp":1760043090124,"version":"3.41.0"},"publisher-location":"New York, NY, USA","reference-count":24,"publisher":"ACM","license":[{"start":{"date-parts":[[2020,1,20]],"date-time":"2020-01-20T00:00:00Z","timestamp":1579478400000},"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,1,20]]},"DOI":"10.1145\/3372884.3373159","type":"proceedings-article","created":{"date-parts":[[2019,12,20]],"date-time":"2019-12-20T19:45:32Z","timestamp":1576871132000},"page":"45-51","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":1,"title":["GOOL: a generic object-oriented language"],"prefix":"10.1145","author":[{"given":"Jacques","family":"Carette","sequence":"first","affiliation":[{"name":"McMaster University, Canada"}]},{"given":"Brooks","family":"MacLachlan","sequence":"additional","affiliation":[{"name":"McMaster University, Canada"}]},{"given":"Spencer","family":"Smith","sequence":"additional","affiliation":[{"name":"McMaster University, Canada"}]}],"member":"320","published-online":{"date-parts":[[2020,1,20]]},"reference":[{"key":"e_1_3_2_2_1_1","unstructured":"[n. d.]. Conjure: a code-generator for multi-language HTTP\/JSON clients and servers. https:\/\/palantir.github.io\/conjure\/#\/ Accessed 2019-09-16.  [n. d.]. Conjure: a code-generator for multi-language HTTP\/JSON clients and servers. https:\/\/palantir.github.io\/conjure\/#\/ Accessed 2019-09-16."},{"key":"e_1_3_2_2_2_1","unstructured":"[n. d.]. Google Protocol Buffers. https:\/\/developers.google.com\/protocol-buffers\/ Accessed 2019-09-16.  [n. d.]. Google Protocol Buffers. https:\/\/developers.google.com\/protocol-buffers\/ Accessed 2019-09-16."},{"key":"e_1_3_2_2_3_1","unstructured":"[n. d.]. Haxe - The cross-platform toolkit. https:\/\/haxe.org Accessed 2019-09-13.  [n. d.]. Haxe - The cross-platform toolkit. https:\/\/haxe.org Accessed 2019-09-13."},{"key":"e_1_3_2_2_4_1","volume-title":"Proceedings of ECOOP Workshop on Automating Object-Oriented Software Development Methods.","author":"Albin-Amiot Herv\u00e9","year":"2001","unstructured":"Herv\u00e9 Albin-Amiot and Yann-Ga\u00ebl Gu\u00e9h\u00e9neuc . 2001 . Meta-modeling design patterns: Application to pattern detection and code synthesis . In Proceedings of ECOOP Workshop on Automating Object-Oriented Software Development Methods. Herv\u00e9 Albin-Amiot and Yann-Ga\u00ebl Gu\u00e9h\u00e9neuc. 2001. Meta-modeling design patterns: Application to pattern detection and code synthesis. In Proceedings of ECOOP Workshop on Automating Object-Oriented Software Development Methods."},{"key":"e_1_3_2_2_5_1","volume-title":"SAGA: A DSL for story management. arXiv preprint arXiv:1109.0776","author":"Beyak Lucas","year":"2011","unstructured":"Lucas Beyak and Jacques Carette . 2011 . SAGA: A DSL for story management. arXiv preprint arXiv:1109.0776 (2011). Lucas Beyak and Jacques Carette. 2011. SAGA: A DSL for story management. arXiv preprint arXiv:1109.0776 (2011)."},{"key":"e_1_3_2_2_6_1","volume-title":"Yu","author":"Budinsky Frank J.","year":"1996","unstructured":"Frank J. Budinsky , Marilyn A. Finnie , John M. Vlissides , and Patsy S . Yu . 1996 . Automatic code generation from design patterns. IBM systems Journal 35, 2 (1996), 151-171. Frank J. Budinsky, Marilyn A. Finnie, John M. Vlissides, and Patsy S. Yu. 1996. Automatic code generation from design patterns. IBM systems Journal 35, 2 (1996), 151-171."},{"key":"e_1_3_2_2_7_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.2009.70"},{"key":"e_1_3_2_2_8_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796809007205"},{"key":"e_1_3_2_2_9_1","volume-title":"10th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2004). Workshop on Model-Driven Embedded Systems. Citeseer.","author":"de Niz Dionisio","year":"2004","unstructured":"Dionisio de Niz and Raj Rajkumar . 2004 . Glue code generation: Closing the loophole in model-based development . In 10th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2004). Workshop on Model-Driven Embedded Systems. Citeseer. Dionisio de Niz and Raj Rajkumar. 2004. Glue code generation: Closing the loophole in model-based development. In 10th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2004). Workshop on Model-Driven Embedded Systems. Citeseer."},{"key":"e_1_3_2_2_10_1","unstructured":"Erich Gamma. 1995. Design patterns: elements of reusable object-oriented software. Pearson Education India.   Erich Gamma. 1995. Design patterns: elements of reusable object-oriented software . Pearson Education India."},{"key":"e_1_3_2_2_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2976767.2976812"},{"key":"e_1_3_2_2_12_1","doi-asserted-by":"publisher","DOI":"10.1145\/2248487.2151013"},{"key":"e_1_3_2_2_13_1","volume-title":"Proceedings of Workshop on Software Model Engineering (WiSME), at UML","author":"Kim Dae-Kyoo","year":"2003","unstructured":"Dae-Kyoo Kim , Robert France , Sudipto Ghosh , and Eunjee Song . 2003 . A uml-based metamodeling language to specify design patterns . In Proceedings of Workshop on Software Model Engineering (WiSME), at UML 2003. Citeseer. Dae-Kyoo Kim, Robert France, Sudipto Ghosh, and Eunjee Song. 2003. A uml-based metamodeling language to specify design patterns. In Proceedings of Workshop on Software Model Engineering (WiSME), at UML 2003. Citeseer."},{"key":"e_1_3_2_2_14_1","doi-asserted-by":"publisher","DOI":"10.5815\/ijitcs.2017.12.02"},{"key":"e_1_3_2_2_15_1","doi-asserted-by":"publisher","DOI":"10.1109\/NESEA.2010.5678062"},{"key":"e_1_3_2_2_16_1","doi-asserted-by":"publisher","DOI":"10.5555\/564092.564094"},{"key":"e_1_3_2_2_17_1","volume-title":"When and how to develop domain-specific languages. ACM computing surveys (CSUR) 37, 4","author":"Mernik Marjan","year":"2005","unstructured":"Marjan Mernik , Jan Heering , and Anthony M Sloane . 2005. When and how to develop domain-specific languages. ACM computing surveys (CSUR) 37, 4 ( 2005 ), 316-344. Marjan Mernik, Jan Heering, and Anthony M Sloane. 2005. When and how to develop domain-specific languages. ACM computing surveys (CSUR) 37, 4 (2005), 316-344."},{"key":"e_1_3_2_2_18_1","doi-asserted-by":"publisher","DOI":"10.1109\/COMPSACW.2013.83"},{"key":"e_1_3_2_2_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/2554850.2554926"},{"key":"e_1_3_2_2_20_1","volume-title":"Thrift: Scalable cross-language services implementation. Facebook White Paper 5, 8","author":"Slee Mark","year":"2007","unstructured":"Mark Slee , Aditya Agarwal , and Marc Kwiatkowski . 2007 . Thrift: Scalable cross-language services implementation. Facebook White Paper 5, 8 (2007). Mark Slee, Aditya Agarwal, and Marc Kwiatkowski. 2007. Thrift: Scalable cross-language services implementation. Facebook White Paper 5, 8 (2007)."},{"key":"e_1_3_2_2_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1101908.1101931"},{"key":"e_1_3_2_2_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/2897676.2897680"},{"key":"e_1_3_2_2_23_1","volume-title":"Drasil Software: Generate All The Things (Focusing on Scientific Software). https:\/\/github.com\/JacquesCarette\/Drasil.","author":"Team Drasil","year":"2019","unstructured":"Drasil Team . 2019 . Drasil Software: Generate All The Things (Focusing on Scientific Software). https:\/\/github.com\/JacquesCarette\/Drasil. Drasil Team. 2019. Drasil Software: Generate All The Things (Focusing on Scientific Software). https:\/\/github.com\/JacquesCarette\/Drasil."},{"key":"e_1_3_2_2_24_1","first-page":"17","volume-title":"DSL","volume":"97","author":"Wang Daniel C","year":"1997","unstructured":"Daniel C Wang , Andrew W Appel , Jeffrey L Korn , and Christopher S Serra . 1997 . The Zephyr Abstract Syntax Description Language . In DSL , Vol. 97 . 17 - 17 . Daniel C Wang, Andrew W Appel, Jeffrey L Korn, and Christopher S Serra. 1997. The Zephyr Abstract Syntax Description Language. In DSL, Vol. 97. 17-17."}],"event":{"name":"POPL '20: 47th Annual ACM SIGPLAN Symposium on Principles of Programming Languages","sponsor":["SIGPLAN ACM Special Interest Group on Programming Languages","SIGLOG ACM Special Interest Group on Logic and Computation","SIGACT ACM Special Interest Group on Algorithms and Computation Theory"],"location":"New Orleans LA USA","acronym":"POPL '20"},"container-title":["Proceedings of the 2020 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3372884.3373159","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3372884.3373159","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T22:41:09Z","timestamp":1750200069000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3372884.3373159"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,1,20]]},"references-count":24,"alternative-id":["10.1145\/3372884.3373159","10.1145\/3372884"],"URL":"https:\/\/doi.org\/10.1145\/3372884.3373159","relation":{},"subject":[],"published":{"date-parts":[[2020,1,20]]},"assertion":[{"value":"2020-01-20","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}