Restaging domain-specific languages: A flexible design pattern for rapid development of optimizing compilers

Amir Shaikhha*

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract / Description of output

This paper addresses the complexity of developing optimizing compilers by proposing a novel design pattern named Restage. The Restage interface reduces boilerplate code in transformation passes by simplifying the extraction and reconstruction of language constructs, thereby enabling more efficient and maintainable compiler development. This approach automatically generates the necessary interface instances using metaprogramming, minimizing manual effort. Additionally, the proposed solution integrates seamlessly with existing methodologies for building optimizing compilers, including strategy-based transformations and the visitor design pattern. The Restage design pattern significantly reduces the complexity and maintenance cost of compilers for generic-purpose and domain-specific languages.
Original languageEnglish
Title of host publicationGPCE 2024 - Proceedings of the 23rd ACM SIGPLAN International Conference on Generative Programming
Subtitle of host publicationConcepts and Experiences
EditorsShigeru Chiba, Thomas Thüm
Place of PublicationNew York, NY, USA
PublisherACM
Pages80-93
Number of pages14
ISBN (Electronic)9798400712111
DOIs
Publication statusPublished - 21 Oct 2024
EventThe 23rd ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences - Hilton Pasadena, Pasadena, United States
Duration: 21 Oct 202422 Oct 2024
Conference number: 23
https://2024.splashcon.org/home/gpce-2024

Publication series

Name Proceedings of the ACM SIGPLAN International Conference on Generative Programming:
PublisherACM
ISSN (Print)2380-9442

Conference

ConferenceThe 23rd ACM SIGPLAN International Conference on Generative Programming
Abbreviated titleGPCE'24
Country/TerritoryUnited States
CityPasadena
Period21/10/2422/10/24
Internet address

Keywords / Materials (for Non-textual outputs)

  • optimizing compiler
  • visitor design pattern
  • type class derivation
  • strategic transformation
  • rewrite system
  • metaprogramming
  • pattern matching

Fingerprint

Dive into the research topics of 'Restaging domain-specific languages: A flexible design pattern for rapid development of optimizing compilers'. Together they form a unique fingerprint.

Cite this