{"id":"https://openalex.org/W2564970793","doi":"https://doi.org/10.1145/3009837.3009886","title":"Type systems as macros","display_name":"Type systems as macros","publication_year":2016,"publication_date":"2016-12-22","ids":{"openalex":"https://openalex.org/W2564970793","doi":"https://doi.org/10.1145/3009837.3009886","mag":"2564970793"},"language":"en","primary_location":{"id":"doi:10.1145/3009837.3009886","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3009837.3009886","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":false,"oa_status":"closed","oa_url":null,"any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5044510881","display_name":"Stephen Chang","orcid":"https://orcid.org/0000-0002-4760-0658"},"institutions":[{"id":"https://openalex.org/I12912129","display_name":"Northeastern University","ror":"https://ror.org/04t5xt781","country_code":"US","type":"education","lineage":["https://openalex.org/I12912129"]}],"countries":["US"],"is_corresponding":true,"raw_author_name":"Stephen Chang","raw_affiliation_strings":["Northeastern University, USA"],"affiliations":[{"raw_affiliation_string":"Northeastern University, USA","institution_ids":["https://openalex.org/I12912129"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5069602669","display_name":"Alex Knauth","orcid":"https://orcid.org/0009-0006-7286-0044"},"institutions":[{"id":"https://openalex.org/I12912129","display_name":"Northeastern University","ror":"https://ror.org/04t5xt781","country_code":"US","type":"education","lineage":["https://openalex.org/I12912129"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Alex Knauth","raw_affiliation_strings":["Northeastern University, USA"],"affiliations":[{"raw_affiliation_string":"Northeastern University, USA","institution_ids":["https://openalex.org/I12912129"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5002785598","display_name":"Ben Greenman","orcid":"https://orcid.org/0000-0001-7078-9287"},"institutions":[{"id":"https://openalex.org/I12912129","display_name":"Northeastern University","ror":"https://ror.org/04t5xt781","country_code":"US","type":"education","lineage":["https://openalex.org/I12912129"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Ben Greenman","raw_affiliation_strings":["Northeastern University, USA"],"affiliations":[{"raw_affiliation_string":"Northeastern University, USA","institution_ids":["https://openalex.org/I12912129"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5044510881"],"corresponding_institution_ids":["https://openalex.org/I12912129"],"apc_list":null,"apc_paid":null,"fwci":4.4172,"has_fulltext":false,"cited_by_count":19,"citation_normalized_percentile":{"value":0.95176622,"is_in_top_1_percent":false,"is_in_top_10_percent":true},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":null,"issue":null,"first_page":"694","last_page":"705"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10126","display_name":"Logic, programming, and type systems","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.992900013923645,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.992900013923645,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.833172619342804},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7962140440940857},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6758224964141846},{"id":"https://openalex.org/keywords/macro","display_name":"Macro","score":0.6425430774688721},{"id":"https://openalex.org/keywords/metalanguage","display_name":"Metalanguage","score":0.580155074596405},{"id":"https://openalex.org/keywords/modular-design","display_name":"Modular design","score":0.5648829340934753},{"id":"https://openalex.org/keywords/reuse","display_name":"Reuse","score":0.5381129384040833},{"id":"https://openalex.org/keywords/semantics","display_name":"Semantics (computer science)","score":0.5061437487602234},{"id":"https://openalex.org/keywords/implementation","display_name":"Implementation","score":0.4904622733592987},{"id":"https://openalex.org/keywords/syntax","display_name":"Syntax","score":0.46816205978393555},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.18422266840934753},{"id":"https://openalex.org/keywords/engineering","display_name":"Engineering","score":0.0802324116230011}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.833172619342804},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7962140440940857},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6758224964141846},{"id":"https://openalex.org/C166955791","wikidata":"https://www.wikidata.org/wiki/Q629579","display_name":"Macro","level":2,"score":0.6425430774688721},{"id":"https://openalex.org/C142998047","wikidata":"https://www.wikidata.org/wiki/Q193983","display_name":"Metalanguage","level":2,"score":0.580155074596405},{"id":"https://openalex.org/C101468663","wikidata":"https://www.wikidata.org/wiki/Q1620158","display_name":"Modular design","level":2,"score":0.5648829340934753},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.5381129384040833},{"id":"https://openalex.org/C184337299","wikidata":"https://www.wikidata.org/wiki/Q1437428","display_name":"Semantics (computer science)","level":2,"score":0.5061437487602234},{"id":"https://openalex.org/C26713055","wikidata":"https://www.wikidata.org/wiki/Q245962","display_name":"Implementation","level":2,"score":0.4904622733592987},{"id":"https://openalex.org/C60048249","wikidata":"https://www.wikidata.org/wiki/Q37437","display_name":"Syntax","level":2,"score":0.46816205978393555},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.18422266840934753},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.0802324116230011},{"id":"https://openalex.org/C548081761","wikidata":"https://www.wikidata.org/wiki/Q180388","display_name":"Waste management","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3009837.3009886","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3009837.3009886","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[{"display_name":"Quality Education","id":"https://metadata.un.org/sdg/4","score":0.47999998927116394}],"awards":[{"id":"https://openalex.org/G6072402575","display_name":null,"funder_award_id":"SHF 1518844","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"},{"id":"https://openalex.org/G6537961175","display_name":null,"funder_award_id":"1518844","funder_id":"https://openalex.org/F4320306076","funder_display_name":"National Science Foundation"}],"funders":[{"id":"https://openalex.org/F4320306076","display_name":"National Science Foundation","ror":"https://ror.org/021nxhr62"}],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":48,"referenced_works":["https://openalex.org/W72484077","https://openalex.org/W80700283","https://openalex.org/W170403769","https://openalex.org/W238475734","https://openalex.org/W329789253","https://openalex.org/W1557561422","https://openalex.org/W1839902311","https://openalex.org/W1846656375","https://openalex.org/W1944374408","https://openalex.org/W1973186567","https://openalex.org/W1988997455","https://openalex.org/W1998709841","https://openalex.org/W2000651459","https://openalex.org/W2025407135","https://openalex.org/W2026049208","https://openalex.org/W2040581748","https://openalex.org/W2057156093","https://openalex.org/W2059895047","https://openalex.org/W2078200248","https://openalex.org/W2101718506","https://openalex.org/W2105045857","https://openalex.org/W2106355420","https://openalex.org/W2128315858","https://openalex.org/W2129364310","https://openalex.org/W2132837945","https://openalex.org/W2134635944","https://openalex.org/W2152419799","https://openalex.org/W2153006094","https://openalex.org/W2170002779","https://openalex.org/W2249437077","https://openalex.org/W2284690928","https://openalex.org/W2293197344","https://openalex.org/W2295447786","https://openalex.org/W2296064069","https://openalex.org/W2296544889","https://openalex.org/W2538286173","https://openalex.org/W2568721247","https://openalex.org/W2912506132","https://openalex.org/W2913189769","https://openalex.org/W4230618689","https://openalex.org/W4235903093","https://openalex.org/W4243993752","https://openalex.org/W4290864872","https://openalex.org/W6606825560","https://openalex.org/W6675806528","https://openalex.org/W6679054507","https://openalex.org/W6691291237","https://openalex.org/W6695611836"],"related_works":["https://openalex.org/W3116835002","https://openalex.org/W2529330798","https://openalex.org/W63612211","https://openalex.org/W1972826059","https://openalex.org/W2191615978","https://openalex.org/W2050042012","https://openalex.org/W2996808584","https://openalex.org/W2076571272","https://openalex.org/W2352587713","https://openalex.org/W2094443890"],"abstract_inverted_index":{"We":[0],"present":[1],"Turnstile,":[2],"a":[3,45,49,58,62,66],"metalanguage":[4],"for":[5],"creating":[6],"typed":[7,94],"embedded":[8,95],"languages.":[9,83],"To":[10,24],"implement":[11,25],"the":[12,26,38],"type":[13,17,54],"system,":[14],"programmers":[15],"write":[16],"checking":[18],"rules":[19,74],"resembling":[20],"traditional":[21],"judgment":[22],"syntax.":[23],"semantics,":[27],"they":[28],"incorporate":[29],"elaborations":[30],"into":[31,61],"these":[32],"rules.":[33],"Turnstile":[34,91],"critically":[35],"depends":[36],"on":[37],"idea":[39],"of":[40],"linguistic":[41],"reuse.":[42],"It":[43],"exploits":[44],"macro":[46,67],"system":[47,68],"in":[48],"novel":[50],"way":[51],"to":[52,80],"simultaneously":[53],"check":[55],"and":[56,78,88],"rewrite":[57],"surface":[59],"program":[60],"target":[63],"language.":[64],"Reusing":[65],"also":[69],"yields":[70],"modular":[71],"implementations":[72],"whose":[73],"may":[75],"be":[76],"mixed":[77],"matched":[79],"create":[81],"other":[82],"Combined":[84],"with":[85,97],"typical":[86],"compiler":[87],"runtime":[89],"reuse,":[90],"produces":[92],"performant":[93],"languages":[96],"little":[98],"effort.":[99]},"counts_by_year":[{"year":2025,"cited_by_count":1},{"year":2024,"cited_by_count":4},{"year":2022,"cited_by_count":1},{"year":2021,"cited_by_count":1},{"year":2020,"cited_by_count":2},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":5},{"year":2017,"cited_by_count":3}],"updated_date":"2026-04-10T15:06:20.359241","created_date":"2025-10-10T00:00:00"}
