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 to manipulate 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 of useful sharing in this setting.
翻译:本文研究有用的共享,这是在公开条件下逐个需求评估的背景下对羊肉卡库利的复杂优化。 有益共享比按个需求或按个需求进行操作更难,因为按个需求评估环境内部,因此更难说明何时可以采取替代步骤。 我们将关键相关概念分离开来,并证明在此背景下进行有益共享的正确性。