Arrow Research search
Back to CSL

CSL 2026

Useful Call-by-Value: A Semantic Interpretation via Quantitative Types

Conference Paper Accepted Paper Logic in Computer Science ยท Theoretical Computer Science

Abstract

Useful evaluation is an optimised evaluation mechanism for functional programming languages. It relies on representing terms with sharing and imposing a restricted notion of useful substitutions, that intuitively disallows copying subterms that do not contribute to the progress of the computation. In particular, useful call-by-value evaluation optimises the standard call-by-value strategy by preserving its original semantics. This preservation result has been shown by means of syntactical rewriting techniques, difficult to adapt to alternative variants of the calculi at play. In this work, we present the first semantic model of useful call-by-value evaluation through the non-idempotent intersection type system ๐’ฐ. Our first contribution is a characterisation of termination for useful call-by-value evaluation via system ๐’ฐ. That is, a term is typable in system ๐’ฐ if and only if it terminates in the useful call-by-value strategy. As a second contribution, we show that system ๐’ฐ provides a quantitative interpretation for useful call-by-value evaluation, offering exact step-count information for program evaluation. Our third contribution is that termination in call-by-value and useful call-by-value are equivalent. This ensures in particular that call-by-value, which is (potentially) erasing, and useful call-by-value, which is non-erasing, are observationally equivalent. Even though the specification of the operational semantics of useful evaluation is highly complex, system ๐’ฐ is notably simple. As far as we know, system ๐’ฐ is one of the scarce quantitative type systems capturing exactly the substitution step-count for variables and abstractions in an open call-by-value strategy.

Authors

Keywords

  • Lambda calculus
  • Evaluation strategies
  • Call-by-Value
  • Useful Evaluation
  • Intersection types
  • Quantitative models

Context

Venue
Annual Conference on Computer Science Logic
Archive span
1988-2026
Indexed papers
1413
Paper id
543501540930637053
v2026.09.13