English

An Abstract Machine for Strong Call by Value

Programming Languages 2020-09-16 v1

Abstract

We present an abstract machine that implements a full-reducing (a.k.a. strong) call-by-value strategy for pure λ\lambda-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 machine to checking term convertibility by discriminating on the basis of their partially normalized forms.

Cite

@article{arxiv.2009.06984,
  title  = {An Abstract Machine for Strong Call by Value},
  author = {Małgorzata Biernacka and Dariusz Biernacki and Witold Charatonik and Tomasz Drab},
  journal= {arXiv preprint arXiv:2009.06984},
  year   = {2020}
}

Comments

24 pages, 6 figures, APLAS 2020

R2 v1 2026-06-23T18:33:09.525Z