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

Sven Bodo Scholz*

*Corresponding author for this work

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

2 Citations (Scopus)


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
Number of pages2
ISBN (Print)9781450326193
Publication statusPublished - 2014
EventACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation - San Diego, CA, United Kingdom
Duration: 20 Jan 201421 Jan 2014


ConferenceACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation
Abbreviated titlePEPM 2014 - Co-located with POPL 2014
Country/TerritoryUnited Kingdom
CitySan Diego, CA


  • Highly optimising compilers
  • Partial evaluation
  • SAC

ASJC Scopus subject areas

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


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