TL;DR
This paper introduces an abstract machine that implements a strong call-by-value strategy for pure lambda calculus, derived through a series of transformations from existing normalization techniques, and proves its correctness.
Contribution
It presents a novel abstract machine for strong call-by-value, derived via a functional correspondence and correctness proof, expanding the understanding of evaluation strategies in lambda calculus.
Findings
The machine implements a strong call-by-value reduction strategy.
It subsumes the fireball-calculus variant of call by value.
It can be used for checking term convertibility based on partial normalization.
Abstract
We present an abstract machine that implements a full-reducing (a.k.a. strong) call-by-value strategy for pure -calculus. It is derived using Danvy et al.'s functional correspondence from Cr\'egut's KN by: (1) deconstructing KN to a call-by-name normalization-by-evaluation function akin to Filinski and Rohde's, (2) modifying the resulting normalizer so that it implements the right-to-left call-by-value function application, and (3) constructing the functionally corresponding abstract machine. This new machine implements a reduction strategy that subsumes the fireball-calculus variant of call by value studied by Accattoli et al. We describe the strong strategy of the machine in terms of a reduction semantics and prove the correctness of the machine using a method based on Biernacka et al.'s generalized refocusing. As a byproduct, we present an example application of the…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
