Open Call-by-Value (Extended Version)
Beniamino Accattoli, Giulio Guerrieri

TL;DR
This paper compares four different calculi for Open Call-by-Value, an intermediate evaluation setting with open terms, demonstrating their equivalence in terms of termination to support its conceptual robustness.
Contribution
It provides a detailed comparative analysis of four calculi for Open Call-by-Value, establishing their equivalence in termination behavior.
Findings
All four calculi are equivalent regarding termination.
The study justifies the Open Call-by-Value approach across different semantic frameworks.
It clarifies the relationships between various models of Open Call-by-Value.
Abstract
The elegant theory of the call-by-value lambda-calculus relies on weak evaluation and closed terms, that are natural hypotheses in the study of programming languages. To model proof assistants, however, strong evaluation and open terms are required, and it is well known that the operational semantics of call-by-value becomes problematic in this case. Here we study the intermediate setting -- that we call Open Call-by-Value -- of weak evaluation with open terms, on top of which Gr\'egoire and Leroy designed the abstract machine of Coq. Various calculi for Open Call-by-Value already exist, each one with its pros and cons. This paper presents a detailed comparative study of the operational semantics of four of them, coming from different areas such as the study of abstract machines, denotational semantics, linear logic proof nets, and sequent calculus. We show that these calculi are all…
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.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Distributed systems and fault tolerance
