A Strong Distillery - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2015

A Strong Distillery

Résumé

Abstract machines for the strong evaluation of λ-terms (that is, under abstractions) are a mostly neglected topic, despite their use in the implementation of proof assistants and higher-order logic programming languages. This paper introduces a machine for the simplest form of strong evaluation, leftmost-outermost (call-by-name) evaluation to normal form, proving it correct, complete, and bounding its overhead. Such a machine, deemed Strong Milner Abstract Machine, is a variant of the KAM computing normal forms and using just one global environment. Its properties are studied via a special form of decoding, called a distillation, into the Linear Substitution Calculus, neatly reformulating the machine as a standard micro-step strategy for explicit substitutions, namely linear leftmost-outermost reduction, i.e. the extension to normal form of linear head reduction. Additionally, the overhead of the machine is shown to be linear both in the number of steps and in the size of the initial term, validating its design. The study highlights two distinguished features of strong machines, namely backtracking phases and their interactions with abstractions and environments.
Fichier principal
Vignette du fichier
Accattoli, Barenbaum, Mazza - A Strong Distillery.pdf (378.14 Ko) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01244838 , version 1 (16-12-2015)

Identifiants

Citer

Beniamino Accattoli, Pablo Barenbaum, Damiano Mazza. A Strong Distillery. Programming Languages and Systems - 13th Asian Symposium, APLAS 2015, Nov 2015, Pohang, South Korea. pp.231-250, ⟨10.1007/978-3-319-26529-2_13⟩. ⟨hal-01244838⟩
224 Consultations
112 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More