Partial evaluation as universal compiler tool - Experiences from the SAC eco system

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

1 Citation (Scopus)

Abstract

Compilation of high-level languages, be they domain-specific ones or general purpose ones, typically entails rather sophisticated program analyses to facilitate extensive program manipulations and target architecture-specific code generation. This talk shows how several of these techniques can benefit vastly from the use of partial evaluation techniques; it reflects some of the experiences gained in the context of the ecosystem of compiler tools around the programming language SAC (Single Assignment C). I describe how partial evaluation over the lifetime of the compiler development project has turned into a versatile tool that supports several aspects during the compilation, optimisation and code generation for SAC programs. At three concrete use scenarios in our toolchain: Type inference, constraint resolution and applicationspecific code generation, I demonstrate the gains from partial evaluation. A discussion about limitations, further application potential and possible alternatives concludes the presentation. Categories and Subject Descriptors D.3.4.a [Programming Languages]: Code Generation; D.3.4.b [Programming Languages]: Compilers; D.3.4.d [Programming Languages]: Incremental Compilers; D.3.4.g [Programming Languages]: Optimization.

Original languageEnglish
Title of host publicationPEPM 2014 - Proceedings of the ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, Co-located with POPL 2014
PublisherAssociation for Computing Machinery
Pages95-96
Number of pages2
ISBN (Print)9781450326193
DOIs
Publication statusPublished - 2014
EventACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation - San Diego, CA, United Kingdom
Duration: 20 Jan 201421 Jan 2014

Conference

ConferenceACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation
Abbreviated titlePEPM 2014 - Co-located with POPL 2014
CountryUnited Kingdom
CitySan Diego, CA
Period20/01/1421/01/14

Keywords

  • Highly optimising compilers
  • Partial evaluation
  • SAC

ASJC Scopus subject areas

  • Computer Graphics and Computer-Aided Design
  • Computer Vision and Pattern Recognition
  • Software

Fingerprint Dive into the research topics of 'Partial evaluation as universal compiler tool - Experiences from the SAC eco system'. Together they form a unique fingerprint.

  • Cite this

    Scholz, S. B. (2014). Partial evaluation as universal compiler tool - Experiences from the SAC eco system. In PEPM 2014 - Proceedings of the ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, Co-located with POPL 2014 (pp. 95-96). Association for Computing Machinery. https://doi.org/10.1145/2543728.2543747