{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,2,27]],"date-time":"2026-02-27T03:48:01Z","timestamp":1772164081634,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":48,"publisher":"ACM","license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"vor","delay-in-days":365,"URL":"http:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["SHF 1518844"],"award-info":[{"award-number":["SHF 1518844"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2017,1]]},"DOI":"10.1145\/3009837.3009886","type":"proceedings-article","created":{"date-parts":[[2016,12,22]],"date-time":"2016-12-22T16:20:29Z","timestamp":1482423629000},"page":"694-705","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":16,"title":["Type systems as macros"],"prefix":"10.1145","author":[{"given":"Stephen","family":"Chang","sequence":"first","affiliation":[{"name":"Northeastern University, USA"}]},{"given":"Alex","family":"Knauth","sequence":"additional","affiliation":[{"name":"Northeastern University, USA"}]},{"given":"Ben","family":"Greenman","sequence":"additional","affiliation":[{"name":"Northeastern University, USA"}]}],"member":"320","published-online":{"date-parts":[[2017,1]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"The computer language benchmarks game."},{"key":"e_1_3_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1145\/1167473.1167479"},{"key":"e_1_3_2_1_3_1","volume-title":"DSLs - A powerful Scala feature","author":"Bagwell P.","year":"2009","unstructured":"P. Bagwell. DSLs - A powerful Scala feature, 2009."},{"key":"e_1_3_2_1_4_1","volume-title":"OOPSLA Workshop on Revival of Dynamic Languages","author":"Bracha G.","year":"2004","unstructured":"G. Bracha. Pluggable type systems. In OOPSLA Workshop on Revival of Dynamic Languages, 2004."},{"key":"e_1_3_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1016\/1385-7258(72)90034-0"},{"key":"e_1_3_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1145\/2489837.2489840"},{"key":"e_1_3_2_1_7_1","volume-title":"Pollen: the book is a program","author":"Butterick M.","year":"2013","unstructured":"M. Butterick. Pollen: the book is a program, 2013."},{"key":"e_1_3_2_1_8_1","volume-title":"Sets of scopes macro hygiene in Rust","author":"Cameron N.","year":"2015","unstructured":"N. Cameron. Sets of scopes macro hygiene in Rust, 2015."},{"key":"e_1_3_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1863543.1863577"},{"key":"e_1_3_2_1_10_1","unstructured":"T. Disney. Hygienic Macros for JavaScript. PhD thesis University of California Santa Cruz 2015."},{"key":"e_1_3_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/2048066.2048099"},{"key":"e_1_3_2_1_12_1","first-page":"128","volume-title":"1st Summit on Advances in Programming Languages (SNAPL 2015","author":"Felleisen M.","year":"2015","unstructured":"M. Felleisen, R. B. Findler, M. Flatt, S. Krishnamurthi, E. Barzilay, J. McCarthy, and S. Tobin-Hochstadt. The Racket Manifesto. In 1st Summit on Advances in Programming Languages (SNAPL 2015), pages 113\u2013128, 2015."},{"key":"e_1_3_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/1159803.1159817"},{"key":"e_1_3_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/2837614.2837620"},{"key":"e_1_3_2_1_15_1","unstructured":"M. Flatt and PLT. Reference: Racket. Technical Report PLT-TR-2010- 1 PLT Design Inc. 2010. http:\/\/racket-lang.org\/tr1\/."},{"key":"e_1_3_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796812000093"},{"key":"e_1_3_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.5555\/1809745"},{"key":"e_1_3_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1028664.1028765"},{"key":"e_1_3_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1007\/s10990-005-4879-2"},{"key":"e_1_3_2_1_20_1","unstructured":"P. Graham. On Lisp. Prentice Hall 1993."},{"key":"e_1_3_2_1_21_1","volume-title":"Trivial: Observably smarter typechecking","author":"Greenman B.","year":"2016","unstructured":"B. Greenman. Trivial: Observably smarter typechecking, 2016."},{"key":"e_1_3_2_1_22_1","volume-title":"asm.js working draft","author":"Herman D.","year":"2014","unstructured":"D. Herman, L. Wagner, and A. Zakai. asm.js working draft, 2014."},{"key":"e_1_3_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/242224.242477"},{"key":"e_1_3_2_1_24_1","doi-asserted-by":"publisher","DOI":"10.5555\/551789.853532"},{"key":"e_1_3_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.5555\/1267950.1267973"},{"key":"e_1_3_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-31057-7_19"},{"key":"e_1_3_2_1_27_1","doi-asserted-by":"publisher","unstructured":"S. Krishnamurthi. Linguistic Reuse. PhD thesis Rice University 2001.","DOI":"10.5555\/934293"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/2508168.2508170"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1017\/S0956796802004550"},{"key":"e_1_3_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1145\/2837614.2837644"},{"key":"e_1_3_2_1_31_1","volume-title":"O\u2019Reilly Media","author":"Minsky Y.","year":"2013","unstructured":"Y. Minsky, A. Madhavapeddy, and J. Hickey. Real World OCaml. O\u2019Reilly Media, 2013."},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.5555\/2685048.2685063"},{"key":"e_1_3_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.5555\/646005.673740"},{"key":"e_1_3_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.5555\/580840"},{"key":"e_1_3_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/2993236.2993245"},{"key":"e_1_3_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-44202-9_5"},{"key":"e_1_3_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/1390630.1390656"},{"key":"e_1_3_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.5555\/509043"},{"key":"e_1_3_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/268946.268967"},{"key":"e_1_3_2_1_40_1","first-page":"293","volume-title":"1st Summit on Advances in Programming Languages","author":"Siek J. G.","year":"2015","unstructured":"J. G. Siek, M. M. Vitousek, M. Cimini, and J. T. Boyland. Refined criteria for gradual typing. In 1st Summit on Advances in Programming Languages, pages 274\u2013293, 2015."},{"key":"e_1_3_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1145\/2661088.2661092"},{"key":"e_1_3_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/1328438.1328486"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/1993498.1993514"},{"key":"e_1_3_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/2594291.2594340"},{"key":"e_1_3_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1145\/2699415"},{"key":"e_1_3_2_1_46_1","unstructured":"T. Veldhuizen. Using C++ template metaprograms. C++ Report 7 (4):36\u201343 May 1995."},{"key":"e_1_3_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1145\/75277.75283"},{"key":"e_1_3_2_1_48_1","volume-title":"Proceedings of the OCaml Users and Developers Workshop","author":"Yallop J.","year":"2015","unstructured":"J. Yallop and L. White. Modular macros. In Proceedings of the OCaml Users and Developers Workshop, 2015."}],"event":{"name":"POPL '17: The 44th Annual ACM SIGPLAN Symposium on Principles of Programming Languages","location":"Paris France","acronym":"POPL '17","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"]},"container-title":["Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3009837.3009886","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3009837.3009886","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3009837.3009886","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,11,18]],"date-time":"2025-11-18T09:42:34Z","timestamp":1763458954000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3009837.3009886"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2017,1]]},"references-count":48,"alternative-id":["10.1145\/3009837.3009886","10.1145\/3009837"],"URL":"https:\/\/doi.org\/10.1145\/3009837.3009886","relation":{"is-identical-to":[{"id-type":"doi","id":"10.1145\/3093333.3009886","asserted-by":"object"}]},"subject":[],"published":{"date-parts":[[2017,1]]},"assertion":[{"value":"2017-01-01","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}