Artículo

Foundations of strong call by need

Balabonski, Thibaut ; Barenbaum, Pablo Icon; Bonelli, Eduardo Augusto Icon; Kesner, Delia

Otros responsables

Fecha

08/2017

Editorial

Association for Computing Machinery

Revista

Proceedings of the ACM on Programming Languages

Título del libro

Nombre del evento

Fecha del evento

Institución organizadora

ISSN

2475-1421

eISSN

ISBN

Idioma

Inglés

Tipo del evento

Clasificación temática

Resumen

We present a call-by-need strategy for computing strong normal forms of open terms (reduction is admitted inside the body of abstractions and substitutions, and the terms may contain free variables), which guarantees that arguments are only evaluated when needed and at most once. The strategy is shown to be complete with respect to β-reduction to strong normal form. The proof of completeness relies on two key tools: (1) the de nition of a strong call-by-need calculus where reduction may be performed inside any context, and (2) the use of non-idempotent intersection types. More precisely, terms admitting a β-normal form in pure lambda calculus are typable, typability implies (weak) normalisation in the strong call-by-need calculus, and weak normalisation in the strong call-by-need calculus implies normalisation in the strong call-by-need strategy. Our (strong) call-by-need strategy is also shown to be conservative over the standard (weak) call-by-need.

Aprobación

Revisión

Complementado por

Referenciado por

Licencia Creative Commons

Excepto donde se indique lo contrario, la licencia de este ítem se describe como by-nc-sa