This paper explores two topics at once: the use of denotational semantics to bound the evaluation length of functional programs, and the semantics of strong (that is, possibly under abstractions) call-by-value evaluation. About the first, we analyze de Carvalho's seminal use of relational semantics for bounding the evaluation length of lambda-terms, starting from the presentation of the semantics as an intersection types system. We focus on the part of his work which is usually neglected in its many recent adaptations, despite being probably the conceptually deeper one: how to transfer the bounding power from the type system to the relational semantics itself. We dissect this result and re-understand it via the isolation of a simpler size representation property. About the second, we use relational semantics to develop a semantical study of strong call-by-value evaluation, which is both a delicate and neglected topic. We give a semantic characterization of terms normalizable with respect to strong evaluation, providing in particular the first result of adequacy with respect to strong call-by-value. Moreover, we extract bounds about strong evaluation from both the type systems and the relational semantics. Essentially, we use strong call-by-value to revisit de Carvalho's semantic bounds, and de Carvalho's technique to provide semantical foundations for strong call-by-value.
翻译:本文同时探讨两个主题:使用省略语义来约束功能性程序的评价长度,以及强力(可能在抽象中)的语义(在抽象中)逐次评估。关于第一个主题,我们分析了Carvalho对关系语义的开创性使用,以约束羊羔术语的评价长度,从将语义作为交错类型系统来介绍开始。我们侧重于他的工作,尽管其在许多近期的修改中通常被忽略了,尽管其概念上可能更深:如何将类型体系的束缚力(在抽象中)转移到关系语义本身。我们将这一结果分解,并通过一个更简单的表达性属性属性属性属性属性属性的孤立来重新理解它。关于第二,我们用关系语义语义语义来研究强烈的按语义性评估,这是一个微妙和被忽视的话题。我们用语义性术语的描述与强度评价相适应,特别是从强烈的按语义基础和卡路语系关系中获得的第一个结论性结果。此外,我们用语义的语义语义来分析关于强烈的语义性价值。我们把语义性精定的语义的语义性重新用于。