Useful Evaluation: Syntax and Semantics (Technical Report)
Pablo Barenbaum, Delia Kesner, and Mariana Milicich

TL;DR
This paper introduces a new inductive framework for useful call-by-value evaluation, establishing its semantic model, and demonstrating its efficiency and termination properties through type systems and existing abstract machines.
Contribution
It defines the UCBV strategy for useful evaluation, proves its soundness and completeness, and links it to a semantic model and existing abstract machine with polynomial overhead.
Findings
UCBV is a sound and complete implementation of LCBV.
UCBV is time-invariant, with step-count as a measure of complexity.
System U characterizes termination and provides exact step-count for UCBV.
Abstract
This work provides the first inductive definition of useful CBV evaluation. For that, we first restrict the substitution operation in the Value Substitution Calculus to be linear, yielding the LCBV strategy. We then further restrict substitution in LCBV, so that substitution contributes to the progress of the computation. This optimisation is the UCBV strategy, and its notion of substitution is sensitive to the surrounding evaluation context, so it is non-trivial to capture it inductively. Moreover, we show that UCBV is a sound and complete implementation of LCBV, optimised to implement useful evaluation. As a further contribution, we show that an existing notion of usefulness in the literature, namely the GLAMoUr abstract machine, implements the UCBV strategy with polynomial overhead in time. This establishes that UCBV is time-invariant, i.e., that the number of reduction steps to…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
