{"id":"https://openalex.org/W3216635194","doi":"https://doi.org/10.1145/3486609.3487203","title":"Multi-stage programming with generative and analytical macros","display_name":"Multi-stage programming with generative and analytical macros","publication_year":2021,"publication_date":"2021-10-17","ids":{"openalex":"https://openalex.org/W3216635194","doi":"https://doi.org/10.1145/3486609.3487203","mag":"3216635194"},"language":"en","primary_location":{"id":"doi:10.1145/3486609.3487203","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3486609.3487203","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","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/A5050200223","display_name":"Nicolas Stucki","orcid":"https://orcid.org/0000-0003-1391-1375"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":true,"raw_author_name":"Nicolas Stucki","raw_affiliation_strings":["EPFL, Switzerland"],"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5027088540","display_name":"Jonathan Immanuel Brachth\u00e4user","orcid":"https://orcid.org/0000-0001-9128-0391"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Jonathan Immanuel Brachth\u00e4user","raw_affiliation_strings":["EPFL, Switzerland"],"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5085410724","display_name":"Martin Odersky","orcid":"https://orcid.org/0009-0005-3923-8993"},"institutions":[{"id":"https://openalex.org/I5124864","display_name":"\u00c9cole Polytechnique F\u00e9d\u00e9rale de Lausanne","ror":"https://ror.org/02s376052","country_code":"CH","type":"education","lineage":["https://openalex.org/I2799323385","https://openalex.org/I5124864"]}],"countries":["CH"],"is_corresponding":false,"raw_author_name":"Martin Odersky","raw_affiliation_strings":["EPFL, Switzerland"],"affiliations":[{"raw_affiliation_string":"EPFL, Switzerland","institution_ids":["https://openalex.org/I5124864"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5050200223"],"corresponding_institution_ids":["https://openalex.org/I5124864"],"apc_list":null,"apc_paid":null,"fwci":0.6999,"has_fulltext":false,"cited_by_count":12,"citation_normalized_percentile":{"value":0.77159479,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":99},"biblio":{"volume":null,"issue":null,"first_page":"110","last_page":"122"},"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.9991000294685364,"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.9991000294685364,"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/T11450","display_name":"Model-Driven Software Engineering Techniques","score":0.9979000091552734,"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"}},{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9973999857902527,"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"}}],"keywords":[{"id":"https://openalex.org/keywords/metaprogramming","display_name":"Metaprogramming","score":0.9516104459762573},{"id":"https://openalex.org/keywords/macro","display_name":"Macro","score":0.778266191482544},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.7694770097732544},{"id":"https://openalex.org/keywords/code-generation","display_name":"Code generation","score":0.7679044008255005},{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.7674360275268555},{"id":"https://openalex.org/keywords/generative-grammar","display_name":"Generative grammar","score":0.6066586971282959},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.6015180945396423},{"id":"https://openalex.org/keywords/artificial-intelligence","display_name":"Artificial intelligence","score":0.23293662071228027}],"concepts":[{"id":"https://openalex.org/C35390924","wikidata":"https://www.wikidata.org/wiki/Q661075","display_name":"Metaprogramming","level":2,"score":0.9516104459762573},{"id":"https://openalex.org/C166955791","wikidata":"https://www.wikidata.org/wiki/Q629579","display_name":"Macro","level":2,"score":0.778266191482544},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.7694770097732544},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.7679044008255005},{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7674360275268555},{"id":"https://openalex.org/C39890363","wikidata":"https://www.wikidata.org/wiki/Q36108","display_name":"Generative grammar","level":2,"score":0.6066586971282959},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.6015180945396423},{"id":"https://openalex.org/C154945302","wikidata":"https://www.wikidata.org/wiki/Q11660","display_name":"Artificial intelligence","level":1,"score":0.23293662071228027},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.0},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3486609.3487203","is_oa":false,"landing_page_url":"https://doi.org/10.1145/3486609.3487203","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 20th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","raw_type":"proceedings-article"}],"best_oa_location":null,"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"pdf":false,"grobid_xml":false},"content_urls":null,"referenced_works_count":32,"referenced_works":["https://openalex.org/W1528193315","https://openalex.org/W1552268159","https://openalex.org/W1963538417","https://openalex.org/W1990347915","https://openalex.org/W2009464583","https://openalex.org/W2009775190","https://openalex.org/W2029408547","https://openalex.org/W2044758536","https://openalex.org/W2055806388","https://openalex.org/W2096314727","https://openalex.org/W2101718506","https://openalex.org/W2176580510","https://openalex.org/W2247694024","https://openalex.org/W2601109700","https://openalex.org/W2732090102","https://openalex.org/W2753210791","https://openalex.org/W2754883653","https://openalex.org/W2764337128","https://openalex.org/W2769962266","https://openalex.org/W2805929662","https://openalex.org/W2898037052","https://openalex.org/W2911646362","https://openalex.org/W2997284983","https://openalex.org/W3004946341","https://openalex.org/W3088338119","https://openalex.org/W3107101448","https://openalex.org/W3163302786","https://openalex.org/W4240476803","https://openalex.org/W4242122368","https://openalex.org/W4285719527","https://openalex.org/W4301270244","https://openalex.org/W4388310127"],"related_works":["https://openalex.org/W3216635194","https://openalex.org/W2554178013","https://openalex.org/W2898037052","https://openalex.org/W3044146059","https://openalex.org/W1513190062","https://openalex.org/W2048831961","https://openalex.org/W1606349578","https://openalex.org/W4399567378","https://openalex.org/W4312685544","https://openalex.org/W2794657471"],"abstract_inverted_index":{"In":[0],"metaprogramming,":[1],"code":[2,5,25,32,42],"generation":[3,26,43],"and":[4,18],"analysis":[6],"are":[7,38],"complementary.":[8],"Traditionally,":[9],"principled":[10],"metaprogramming":[11],"extensions":[12],"for":[13,24,31],"programming":[14],"languages,":[15],"like":[16],"MetaML":[17],"BER":[19],"MetaOCaml,":[20],"offer":[21],"strong":[22],"foundations":[23],"but":[27],"lack":[28],"equivalent":[29],"support":[30],"analysis.":[33],"Similarly,":[34],"existing":[35],"macro":[36],"systems":[37],"biased":[39],"towards":[40],"the":[41],"aspect.":[44]},"counts_by_year":[{"year":2026,"cited_by_count":2},{"year":2025,"cited_by_count":5},{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":1},{"year":2022,"cited_by_count":2},{"year":2021,"cited_by_count":1}],"updated_date":"2026-04-11T08:14:18.477133","created_date":"2025-10-10T00:00:00"}
