{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,23]],"date-time":"2026-03-23T23:09:51Z","timestamp":1774307391094,"version":"3.50.1"},"reference-count":42,"publisher":"IEEE","license":[{"start":{"date-parts":[[2021,2,27]],"date-time":"2021-02-27T00:00:00Z","timestamp":1614384000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"},{"start":{"date-parts":[[2021,2,27]],"date-time":"2021-02-27T00:00:00Z","timestamp":1614384000000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2021,2,27]],"date-time":"2021-02-27T00:00:00Z","timestamp":1614384000000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"}],"funder":[{"DOI":"10.13039\/100000185","name":"DARPA","doi-asserted-by":"publisher","award":["HR0011-18- 3\u20130007"],"award-info":[{"award-number":["HR0011-18- 3\u20130007"]}],"id":[{"id":"10.13039\/100000185","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2021,2,27]]},"DOI":"10.1109\/cgo51591.2021.9370333","type":"proceedings-article","created":{"date-parts":[[2021,3,11]],"date-time":"2021-03-11T21:33:26Z","timestamp":1615498406000},"page":"39-51","source":"Crossref","is-referenced-by-count":16,"title":["BuildIt: A Type-Based Multi-stage Programming Framework for Code Generation in C++"],"prefix":"10.1109","author":[{"given":"Ajay","family":"Brahmakshatriya","sequence":"first","affiliation":[]},{"given":"Saman","family":"Amarasinghe","sequence":"additional","affiliation":[]}],"member":"263","reference":[{"key":"ref39","doi-asserted-by":"publisher","DOI":"10.1145\/3243176.3243185"},{"key":"ref38","doi-asserted-by":"publisher","DOI":"10.1145\/2185520.2185528"},{"key":"ref33","doi-asserted-by":"publisher","DOI":"10.1145\/1328408.1328430"},{"key":"ref32","doi-asserted-by":"publisher","DOI":"10.1145\/1111542.1111570"},{"key":"ref31","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2005.10.013"},{"key":"ref30","doi-asserted-by":"publisher","DOI":"10.1016\/j.scico.2008.09.008"},{"key":"ref37","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2019.8661197"},{"key":"ref36","doi-asserted-by":"publisher","DOI":"10.1145\/1868294.1868314"},{"key":"ref35","doi-asserted-by":"publisher","DOI":"10.1145\/2666356.2594307"},{"key":"ref34","first-page":"111120","article-title":"Shifting the stage: Staging with delimited control","author":"kameyama","year":"2009","journal-title":"Proceedings of the 2009 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation ser PEPM 09"},{"key":"ref10","doi-asserted-by":"publisher","DOI":"10.1145\/258994.259019"},{"key":"ref40","doi-asserted-by":"publisher","DOI":"10.1145\/2866569"},{"key":"ref11","doi-asserted-by":"publisher","DOI":"10.1145\/581690.581691"},{"key":"ref12","first-page":"400","volume":"45","author":"westbrook","year":"2010","journal-title":"Mint Java multi-stage programming using weak separability"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-30175-2_9"},{"key":"ref14","author":"agrawal","year":"2019","journal-title":"Tensorflow eager A multi-stage python-embedded dsl for machine learning"},{"key":"ref15","first-page":"455490","article-title":"On loops, dominators, and dominance frontiers","volume":"24","year":"2002","journal-title":"ACM Trans Program Lang Syst"},{"key":"ref16","doi-asserted-by":"publisher","DOI":"10.1145\/316686.316687"},{"key":"ref17","doi-asserted-by":"publisher","DOI":"10.1145\/236114.236115"},{"key":"ref18","doi-asserted-by":"publisher","DOI":"10.1145\/321832.321835"},{"key":"ref19","doi-asserted-by":"publisher","DOI":"10.1145\/3276493"},{"key":"ref28","first-page":"5776","article-title":"Implementing multistage languages using asts, gensym, and reflection","author":"calcagno","year":"2003","journal-title":"Proceedings of the 2nd International Conference on Generative Programming and Component Engineering ser GPCE 03"},{"key":"ref4","doi-asserted-by":"publisher","DOI":"10.1145\/258993.259019"},{"key":"ref27","doi-asserted-by":"publisher","DOI":"10.1145\/581690.581691"},{"key":"ref3","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462166"},{"key":"ref6","author":"abadi","year":"2015","journal-title":"TensorFlow Large-Scale Machine Learning on Heterogeneous Systems"},{"key":"ref29","doi-asserted-by":"publisher","DOI":"10.1145\/1809028.1806642"},{"key":"ref5","doi-asserted-by":"publisher","DOI":"10.1145\/3133901"},{"key":"ref8","doi-asserted-by":"publisher","DOI":"10.1145\/3276491"},{"key":"ref7","doi-asserted-by":"publisher","DOI":"10.1145\/2491956.2462176"},{"key":"ref2","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-25935-0_3"},{"key":"ref9","doi-asserted-by":"publisher","DOI":"10.1145\/3368826.3377909"},{"key":"ref1","doi-asserted-by":"publisher","DOI":"10.23919\/ROPACES.2017.7916375"},{"key":"ref20","doi-asserted-by":"publisher","DOI":"10.2307\/2270680"},{"key":"ref22","first-page":"377380","article-title":"Partial evaluation of computation process, revisited","volume":"12","author":"futamura","year":"1999","journal-title":"Higher Order Symbol Comput"},{"key":"ref21","doi-asserted-by":"publisher","DOI":"10.1145\/355592.365646"},{"key":"ref42","doi-asserted-by":"publisher","DOI":"10.1109\/CGO.2011.5764690"},{"key":"ref24","article-title":"Stanford Compiler Group","year":"1994","journal-title":"The builder library a tool to construct or modify suif code within the suif compiler"},{"key":"ref41","doi-asserted-by":"publisher","DOI":"10.1145\/3360552"},{"key":"ref23","doi-asserted-by":"publisher","DOI":"10.1145\/1173706.1173724"},{"key":"ref26","author":"vandevoorde","year":"2002","journal-title":"C++ Templates"},{"key":"ref25","article-title":"The suif compiler system: A parallelizing and optimizing research compiler","author":"wilson","year":"1994","journal-title":"Stanford CA USA Tech Rep"}],"event":{"name":"2021 IEEE\/ACM International Symposium on Code Generation and Optimization (CGO)","location":"Seoul, Korea (South)","start":{"date-parts":[[2021,2,27]]},"end":{"date-parts":[[2021,3,3]]}},"container-title":["2021 IEEE\/ACM International Symposium on Code Generation and Optimization (CGO)"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/9370300\/9370301\/09370333.pdf?arnumber=9370333","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,5,10]],"date-time":"2022-05-10T15:42:50Z","timestamp":1652197370000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/9370333\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,2,27]]},"references-count":42,"URL":"https:\/\/doi.org\/10.1109\/cgo51591.2021.9370333","relation":{},"subject":[],"published":{"date-parts":[[2021,2,27]]}}}