Labeled λ-calculus and a generalised notion of strictness
暂无分享,去创建一个
The problem of analyzing functional programs requires us to identify subterms of a given term with certain properties. In this paper, we introduce a variant of λ-calculus called labeled λ-calculus to help us build a theory of positional analysis. Labeled λ-calculus uses sets of labels as a means of naming subterms and keeping track of them. We then define a stronger form of strictness called need and show how labeled λ-calculus can be used to compute need. We extend the notion of the need to subterms and use labeled λ-calculus to identify needed subterms. We also use this notion to qualify a function's need for its argument — to identify how much of the argument to a function is needed to evaluate an application to head normal form.