PLMay 29

Practical Algebraic Stepping with Scoped Filters

arXiv:2605.3151749.4
Predicted impact top 36% in PL · last 90 daysOriginality Highly original
AI Analysis

This work addresses the problem of overly long and complex evaluation traces for students learning functional programming, making the learning process more effective.

This paper introduces the filtered stepper calculus, a formal framework for controlling the display of evaluation steps in functional programming steppers. It allows users to annotate programs with filter expressions to show or hide reduction steps, thereby making evaluation traces more focused and manageable for students.

Algebraic steppers help students learn functional programming by displaying evaluation as a sequence of small-step reductions, but even simple programs produce long traces in which key ideas are buried under mundane reductions. This paper presents the filtered stepper calculus, a formal framework that gives users scoped, pattern-based control over which reduction steps are shown or hidden. Users annotate programs with lightweight filter expressions that match on the structure of redexes. Filters compose via lexical scoping so that inner filters override outer ones. We prove preservation, progress, and a simulation theorem establishing that the filtered stepper agrees with the underlying unfiltered semantics, and mechanize all proofs in Agda. We implement the calculus in the Hazel live programming environment, including its support for stepping programs with holes and type errors. To do so, we reconcile Hazel's internal environment-based evaluator with the substitution-based presentation expected in the classroom. We deploy the system in a university programming languages course. Our evaluation shows that students adopt the stepper organically, though more advanced uses of filters may require further instruction, and that instructors can use filters to craft focused traces for use in lectures.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes