On the productivity of recursive list definitions
- 1 October 1989
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 11 (4) , 633-649
- https://doi.org/10.1145/69558.69563
Abstract
Several related notions of the productivity are presented for functional languages with lazy evaluation. The notion of productivity captures the idea of computability, of progress of infinite-list programs. If an infinite-list program is productive , then every element of the list can be computed in finite “time.” These notions are used to study recursive list definitions, that is, lists defined by l where l = fl . Sufficient conditions are given in terms of the function f that either guarantee the productivity of the list or its unproductivity. Furthermore, a calculus is developed that can be used in verifying that lists defined by l where l = f I are productive. The power and the usefulness of our theory are demonstrated by several nontrivial examples. Several observations are given in conclusion.Keywords
This publication has 3 references indexed in Scilit:
- A safe approach to parallel combinator reduction (extended abstract)Published by Springer Nature ,1986
- An extensional treatment of dataflow deadlockTheoretical Computer Science, 1981
- Inductive methods for proving properties of programsCommunications of the ACM, 1973