Useful Open Call-by-Need

Beniamino Accattoli,Maico Leberle
DOI: https://doi.org/10.48550/arXiv.2107.06591
2021-10-28
Abstract:This paper studies useful sharing, which is a sophisticated optimization for lambda-calculi, in the context of call-by-need evaluation in presence of open terms. Useful sharing turns out to be harder in call-by-need than in call-by-name or call-by-value, because call-by-need evaluates inside environments, making it harder to specify when a substitution step is useful. We isolate the key involved concepts and prove the correctness and the completeness of useful sharing in this setting.
Logic in Computer Science,Programming Languages
What problem does this paper attempt to address?