Lazy evaluation and the logic variable
Keshav K. Pingali · 1988
Functional languages can be enriched with logic variables to provide new computational features such as incremental construction of data structures. In this paper, we present a novel application for logic variables that highlights their importance: we argue that they are essential for explicating the process of demand propagation in lazy evaluation of functional programs. There are two applications of this result. First, it provides a 'RISC' approach to lazy evaluation that has several advantages over implementations based on literal graph reduction. Second, it suggests new strictness analysis algorithms in which logic variables play an important role.