Export Citations
We are pleased to present the proceedings of the 2025 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (PEPM 2025), held in Denver, Colorado, January 21st, 2025, in affiliation with the annual Symposium on Principles of Programming Languages (POPL 2025). PEPM has a history going back to 1991, and originates in the discoveries of practically useful automated techniques for evaluating programs with only partial input. Over the years, the scope of PEPM has expanded to include a variety of research areas centered around the theme of semantics-based program manipulation --- the systematic exploitation of treating programs not only as subject to black-box execution, but also as data structures that can be generated, analyzed, and transformed while establishing or maintaining important semantic properties.
Proceeding Downloads
The Ethical Compiler: Addressing the Is-Ought Gap in Compilation (Invited Talk)
The is-ought gap is a problem in moral philosophy observing that ethical judgments ("ought") cannot be grounded purely in truth judgments ("is"): that an ought cannot be derived from an is. This gap renders the following argument invalid: "It is true ...
A Type-Theoretic Framework for Certified Meta-programming (Invited Talk Extended Abstract)
Meta-programming is the art of writing programs that produce or manipulate other programs. This allows programmers to automate error-prone or repetitive tasks, and exploit domain-specific knowledge to customize the generated code. Unfortunately, writing ...
The Missing Diagonal: High Level Languages for Low Level Systems (Invited Talk Abstract)
The computing community has produced many high level languages and tools for programming high level systems (e.g. Java for user interfaces) and it has produced many low level languages and tools for programming low level systems (C for operating systems, ...
Algebraic Stepper for Simple Modules
An algebraic stepper is a pedagogical tool for showing the intermediate steps of program execution. This paper presents an algebraic stepper for OCaml that supports simple modules with hierarchical reference to variables (but without functors or ...
A Type Safe Calculus for Generating Syntax-Directed Editors
- Benjamin Bennetzen,
- Nikolaj Rossander Kristensen,
- Andreas Tor Mortensen,
- Peter Buus Steffensen,
- Sune Skaanning Engtorp,
- Hans Hüttel
Editor calculi make it possible to describe the actions of syntax-directed editing and provide guarantees of safety through their specialized type system: Well-typed editor scripts produce well-formed programs. So far, such calculi have been language-...
Characterizations of Partial Well-Behaved Lenses
Foster et al. proposed a linguistic approach to the bidirectional transformation, with lens. A lens is a pair of two functions, one is a forward transformation called get which produces a target view from an original source, and the other is a backward ...
Typed Program Analysis without Encodings
Programs are viewed as both functions to be executed and data structures to be analysed, but this has always required encoding, e.g. of a lambda-term to a syntax tree, so that a self-interpreter could not be applied to itself directly, but only to its ...
Index Terms
- Proceedings of the 2025 ACM SIGPLAN International Workshop on Partial Evaluation and Program Manipulation