Core Concepts
This work establishes the first inductive definition of useful open call-by-value evaluation, and proposes a quantitative semantic interpretation of this evaluation strategy using non-idempotent intersection types.
Abstract
The paper presents the following key contributions:
Inductive Definition of Useful Open Call-by-Value Evaluation:
The authors introduce the linear open call-by-value (locbv°) calculus, which implements sharing of structures but does not restrict substitution to be useful.
They then refine locbv° to obtain the useful open call-by-value (uocbv•) calculus, which restricts substitution to occur only when it contributes to creating a function application redex.
The inductive definition of uocbv• allows for a more structured and rigorous approach to reasoning about the properties of useful evaluation.
Quantitative Semantic Interpretation:
The authors propose a non-idempotent intersection type system that provides a quantitative interpretation of uocbv• evaluation.
They show that the type system is sound and complete with respect to uocbv•, meaning that a term evaluates to normal form in exactly m steps if and only if it has a tight typing derivation with counter m.
This is the first semantic interpretation in the literature that captures the notion of useful evaluation.
Theoretical Results:
The authors prove that uocbv• enjoys the diamond property, ensuring that the length of reduction sequences to normal form is independent of the evaluation order.
They also show that uocbv• is a reasonable implementation of open call-by-value, by relating it to a previous formulation of open call-by-value evaluation.
The work advances the understanding of useful evaluation strategies and provides a novel quantitative semantic framework for reasoning about them.
Stats
(휆푥.푧푥(푥푦)) I →db (푧푥(푥푦))[푥/I] →lsv (푧I (푥푦))[푥/I] →lsv (푧I (I푦))[푥/I] →db (푧I (푤[푤/푦]))[푥/I] →lsv (푧I (푦[푤/푦]))[푥/I]