{"id":"https://openalex.org/W4403490994","doi":"https://doi.org/10.1145/3689484.3690739","title":"Restaging Domain-Specific Languages: A Flexible Design Pattern for Rapid Development of Optimizing Compilers","display_name":"Restaging Domain-Specific Languages: A Flexible Design Pattern for Rapid Development of Optimizing Compilers","publication_year":2024,"publication_date":"2024-10-17","ids":{"openalex":"https://openalex.org/W4403490994","doi":"https://doi.org/10.1145/3689484.3690739"},"language":"en","primary_location":{"id":"doi:10.1145/3689484.3690739","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3689484.3690739","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 23rd ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","raw_type":"proceedings-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://doi.org/10.1145/3689484.3690739","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5025737201","display_name":"Amir Shaikhha","orcid":"https://orcid.org/0000-0002-9062-759X"},"institutions":[{"id":"https://openalex.org/I98677209","display_name":"University of Edinburgh","ror":"https://ror.org/01nrxwf90","country_code":"GB","type":"education","lineage":["https://openalex.org/I98677209"]}],"countries":["GB"],"is_corresponding":true,"raw_author_name":"Amir Shaikhha","raw_affiliation_strings":["University of Edinburgh, Edinburgh, United Kingdom"],"affiliations":[{"raw_affiliation_string":"University of Edinburgh, Edinburgh, United Kingdom","institution_ids":["https://openalex.org/I98677209"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":1,"corresponding_author_ids":["https://openalex.org/A5025737201"],"corresponding_institution_ids":["https://openalex.org/I98677209"],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":false,"cited_by_count":0,"citation_normalized_percentile":{"value":0.18496748,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":null,"biblio":{"volume":null,"issue":null,"first_page":"80","last_page":"93"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9998000264167786,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9991999864578247,"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/T10904","display_name":"Embedded Systems Design Techniques","score":0.9980000257492065,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"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.7652972936630249},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.7538816332817078},{"id":"https://openalex.org/keywords/domain-specific-language","display_name":"Domain-specific language","score":0.5751767754554749},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5747765898704529},{"id":"https://openalex.org/keywords/domain","display_name":"Domain (mathematical analysis)","score":0.5228703022003174},{"id":"https://openalex.org/keywords/computer-architecture","display_name":"Computer architecture","score":0.3789583742618561},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.34504902362823486},{"id":"https://openalex.org/keywords/mathematics","display_name":"Mathematics","score":0.051427483558654785}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.7652972936630249},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.7538816332817078},{"id":"https://openalex.org/C135257023","wikidata":"https://www.wikidata.org/wiki/Q691358","display_name":"Domain-specific language","level":2,"score":0.5751767754554749},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5747765898704529},{"id":"https://openalex.org/C36503486","wikidata":"https://www.wikidata.org/wiki/Q11235244","display_name":"Domain (mathematical analysis)","level":2,"score":0.5228703022003174},{"id":"https://openalex.org/C118524514","wikidata":"https://www.wikidata.org/wiki/Q173212","display_name":"Computer architecture","level":1,"score":0.3789583742618561},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.34504902362823486},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.051427483558654785},{"id":"https://openalex.org/C134306372","wikidata":"https://www.wikidata.org/wiki/Q7754","display_name":"Mathematical analysis","level":1,"score":0.0}],"mesh":[],"locations_count":3,"locations":[{"id":"doi:10.1145/3689484.3690739","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3689484.3690739","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 23rd ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","raw_type":"proceedings-article"},{"id":"pmh:oai:pure.ed.ac.uk:openaire/20d90645-fad9-44f4-916c-d6b3bccd8dc2","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/files/477054470/ShaikhhaGPCE2024RestagingDomainSpecificLanguages.pdf","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Shaikhha, A 2024, Restaging domain-specific languages : A flexible design pattern for rapid development of optimizing compilers. in S Chiba & T Th\u00fcm (eds), GPCE 2024 - Proceedings of the 23rd ACM SIGPLAN International Conference on Generative Programming : Concepts and Experiences. Proceedings of the ACM SIGPLAN International Conference on Generative Programming:, New York, NY, USA, pp. 80-93, The 23rd ACM SIGPLAN International Conference on Generative Programming, Pasadena, California, United States, 21/10/24. https://doi.org/10.1145/3689484.3690739","raw_type":"contributionToPeriodical"},{"id":"pmh:oai:pure.ed.ac.uk:publications/20d90645-fad9-44f4-916c-d6b3bccd8dc2","is_oa":true,"landing_page_url":"https://www.research.ed.ac.uk/en/publications/20d90645-fad9-44f4-916c-d6b3bccd8dc2","pdf_url":null,"source":{"id":"https://openalex.org/S4406922455","display_name":"Edinburgh Research Explorer","issn_l":null,"issn":null,"is_oa":false,"is_in_doaj":false,"is_core":false,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"repository"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":"Shaikhha, A 2024, Restaging domain-specific languages : A flexible design pattern for rapid development of optimizing compilers. in S Chiba & T Th\u00fcm (eds), GPCE 2024 - Proceedings of the 23rd ACM SIGPLAN International Conference on Generative Programming : Concepts and Experiences. Proceedings of the ACM SIGPLAN International Conference on Generative Programming:, New York, NY, USA, pp. 80-93, The 23rd ACM SIGPLAN International Conference on Generative Programming, Pasadena, California, United States, 21/10/24. https://doi.org/10.1145/3689484.3690739","raw_type":"contributionToPeriodical"}],"best_oa_location":{"id":"doi:10.1145/3689484.3690739","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3689484.3690739","pdf_url":null,"source":null,"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the 23rd ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences","raw_type":"proceedings-article"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":45,"referenced_works":["https://openalex.org/W1517760837","https://openalex.org/W1978948468","https://openalex.org/W1997978901","https://openalex.org/W2022744394","https://openalex.org/W2026049208","https://openalex.org/W2026667713","https://openalex.org/W2050883607","https://openalex.org/W2067776455","https://openalex.org/W2122339407","https://openalex.org/W2123092976","https://openalex.org/W2143609451","https://openalex.org/W2143932292","https://openalex.org/W2147578933","https://openalex.org/W2152397470","https://openalex.org/W2281310552","https://openalex.org/W2294815028","https://openalex.org/W2340838390","https://openalex.org/W2594730095","https://openalex.org/W2619614312","https://openalex.org/W2751836142","https://openalex.org/W2769962266","https://openalex.org/W2797202077","https://openalex.org/W2898037052","https://openalex.org/W2966295917","https://openalex.org/W2979589157","https://openalex.org/W2980214502","https://openalex.org/W3008198205","https://openalex.org/W3047091820","https://openalex.org/W3099525000","https://openalex.org/W3117137355","https://openalex.org/W3122286897","https://openalex.org/W3135515481","https://openalex.org/W3150461596","https://openalex.org/W4233720472","https://openalex.org/W4237211893","https://openalex.org/W4246166885","https://openalex.org/W4281950471","https://openalex.org/W4310506209","https://openalex.org/W4312091324","https://openalex.org/W4321184887","https://openalex.org/W4379536906","https://openalex.org/W4380433265","https://openalex.org/W4383473936","https://openalex.org/W4392265884","https://openalex.org/W4392266008"],"related_works":["https://openalex.org/W1713081424","https://openalex.org/W2127315869","https://openalex.org/W1523769955","https://openalex.org/W2245390655","https://openalex.org/W4379536100","https://openalex.org/W2161550557","https://openalex.org/W4310506228","https://openalex.org/W2128417157","https://openalex.org/W2057033141","https://openalex.org/W4281950471"],"abstract_inverted_index":{"This":[0,43],"paper":[1],"addresses":[2],"the":[3,28,47,57,73,83],"complexity":[4,84],"of":[5,32,88],"developing":[6],"optimizing":[7,67],"compilers":[8,89],"by":[9,26],"proposing":[10],"a":[11],"novel":[12],"design":[13,75,79],"pattern":[14,80],"named":[15],"Restage.":[16],"The":[17,77],"Restage":[18,78],"interface":[19,49],"reduces":[20,82],"boilerplate":[21],"code":[22],"in":[23],"transformation":[24],"passes":[25],"simplifying":[27],"extraction":[29],"and":[30,39,72,85,92],"reconstruction":[31],"language":[33],"constructs,":[34],"thereby":[35],"enabling":[36],"more":[37],"efficient":[38],"maintainable":[40],"compiler":[41],"development.":[42],"approach":[44],"automatically":[45],"generates":[46],"necessary":[48],"instances":[50],"using":[51],"metaprogramming,":[52],"minimizing":[53],"manual":[54],"effort.":[55],"Additionally,":[56],"proposed":[58],"solution":[59],"integrates":[60],"seamlessly":[61],"with":[62],"existing":[63],"methodologies":[64],"for":[65,90],"building":[66],"compilers,":[68],"including":[69],"strategy-based":[70],"transformations":[71],"visitor":[74],"pattern.":[76],"significantly":[81],"maintenance":[86],"cost":[87],"generic-purpose":[91],"domain-specific":[93],"languages.":[94]},"counts_by_year":[],"updated_date":"2026-03-27T05:58:40.876381","created_date":"2025-10-10T00:00:00"}
