Optimizing a Non-Deterministic Abstract Machine with Environments - Inria - Institut national de recherche en sciences et technologies du numérique
Communication Dans Un Congrès Année : 2024

Optimizing a Non-Deterministic Abstract Machine with Environments

Résumé

Non-deterministic abstract machine (NDAM) is a recent implementation model for programming languages where one must choose among several redexes at each reduction step, like process calculi. These machines can be derived from a zipper semantics, a mix between structural operational semantics and context-based reduction semantics. Such a machine has been generated also for the λ-calculus without a fixed reduction strategy, i.e., with the full non-deterministic β-reduction. In that machine, substitution is an external operation that replaces all the occurrences of a variable at once. Implementing substitution with environments is more low-level and more efficient as variables are replaced only when needed. In this paper, we define a NDAM with environments for the λ-calculus without a fixed reduction strategy. We also introduce other optimizations, including a form of refocusing, and we show that we can restrict our optimized NDAM to recover some of the usual λ-calculus machines, e.g., the Krivine Abstract Machine. Most of the improvements we propose in this work could be applied to other NDAMs as well.
Fichier principal
Vignette du fichier
LIPIcs.FSCD.2024.11.pdf (709.6 Ko) Télécharger le fichier
Origine Fichiers éditeurs autorisés sur une archive ouverte

Dates et versions

hal-04643294 , version 1 (10-07-2024)

Licence

Identifiants

Citer

Małgorzata Biernacka, Dariusz Biernacki, Sergueï Lenglet, Alan Schmitt. Optimizing a Non-Deterministic Abstract Machine with Environments. FSCD 2024 - 9th International Conference on Formal Structures for Computation and Deduction, Jul 2024, Tallinn, Estonia. pp.1-22, ⟨10.4230/LIPIcs.FSCD.2024.11⟩. ⟨hal-04643294⟩
175 Consultations
32 Téléchargements

Altmetric

Partager

More