Efficient demand-driven evaluation. Part 1
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
Miranda: a non-strict functional language with polymorphic types
Proc. of a conference on Functional programming languages and computer architecture
Strictness analysis—a practical approach
Proc. of a conference on Functional programming languages and computer architecture
The categorical abstract machine
Proc. of a conference on Functional programming languages and computer architecture
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Alfalfa: distributed graph reduction on a hypercube multiprocessor
Proc. of a workshop on Graph reduction
Projections for strictness analysis
Proc. of a conference on Functional programming languages and computer architecture
Functional programing and the logical variable
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Efficient compilation of lazy evaluation
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
Higher-order strictness analysis in untyped lambda calculus
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
First version of a data flow procedure language
Programming Symposium, Proceedings Colloque sur la Programmation
The semantic elegance of applicative languages
FPCA '81 Proceedings of the 1981 conference on Functional programming languages and computer architecture
I-Structures: Data Structures for Parallel Computing
I-Structures: Data Structures for Parallel Computing
The Implementation of Functional Programming Languages (Prentice-Hall International Series in Computer Science)
Hi-index | 0.00 |
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.