The theory of strictness analysis for higher order functions
on Programs as data objects
Projections for strictness analysis
Proc. of a conference on Functional programming languages and computer architecture
A natural semantics for lazy evaluation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Inference of polymorphic and conditional strictness properties
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Data Flow Analysis in Software Reliability
ACM Computing Surveys (CSUR)
Proceedings of the 2nd ACM SIGPLAN symposium on Haskell
Hi-index | 0.00 |
Properties of programs can be formulated using various techniques: dataflow analysis, abstract interpretation and type-like inference systems. This paper reconstructs strictness analysis (establishing when function parameters are evaluated in a lazy language) as a dataflow analysis by expressing the dataflow properties as an effect system. Strictness properties so expressed give a clearer operational understanding and enable a range of additional optimisations including implicational strictness. At first order strictness effects have the expected principality properties (best-property inference) and can be computed simply.