How to replace failure by a list of successes
Proc. of a conference on Functional programming languages and computer architecture
Denotational semantics: a methodology for language development
Denotational semantics: a methodology for language development
ACM SIGPLAN Notices
The theory of strictness analysis for higher order functions
on Programs as data objects
CLEAN: A language for functional graph rewriting
Proc. of a conference on Functional programming languages and computer architecture
Projections for strictness analysis
Proc. of a conference on Functional programming languages and computer architecture
Why functional programming matters
The Computer Journal - Special issue on Lazy functional programming
Circular programs and self-referential structures
Software—Practice & Experience
I-structures: data structures for parallel computing
ACM Transactions on Programming Languages and Systems (TOPLAS)
Referential transparency, definiteness and unfoldability
Acta Informatica
Small domains spell fast strictness analysis
POPL '90 Proceedings of the 17th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Lazy dynamic-programming can be eager
Information Processing Letters
Benchmarking implementations of lazy functional languages
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
The role of lazy evaluation in amortized data structures
Proceedings of the first ACM SIGPLAN international conference on Functional programming
Functional programming languages
ACM Computing Surveys (CSUR)
Parallel implementation of lazy functional languages using abstract demand propagation
Parallel implementation of lazy functional languages using abstract demand propagation
Automated temporal reasoning about reactive systems
Proceedings of the VIII Banff Higher order workshop conference on Logics for concurrency : structure versus automata: structure versus automata
Generating power of lazy semantics
Theoretical Computer Science - Special volume on computer algebra
The Design and Analysis of Computer Algorithms
The Design and Analysis of Computer Algorithms
The nofib Benchmark Suite of Haskell Programs
Proceedings of the 1992 Glasgow Workshop on Functional Programming
Amortization, lazy evaluation, and persistence: lists with catenation via lazy linking
FOCS '95 Proceedings of the 36th Annual Symposium on Foundations of Computer Science
Applications of feedback in functional programming
FPCA '81 Proceedings of the 1981 conference on Functional programming languages and computer architecture
Even higher-order functions for parsing or Why would anyone ever want to use a sixth-order function?
Journal of Functional Programming
Lenient evaluation and parallelism
Computer Languages
Lenient evaluation and parallelism
Computer Languages
Hi-index | 0.00 |
What is a non-strict functional language? Is a non-strict language necessarily lazy? What additional expressiveness brings non-strictness, with or without laziness? This paper tries to shed some light on these questions. First, in order to characterize non-strictness, different evaluation strategies are introduced: strict, lazy, and lenient. Then, using program examples, how these evaluation strategies differ from each other is examined, showing that non-strictness, even without laziness, allows a more general use of recursive definitions. We also report on a small experiment that we performed to examine how, in practice, laziness was used in a number of lazy benchmark programs.