Projections for strictness analysis
Proc. of a conference on Functional programming languages and computer architecture
Detecting sharing of partial applications in functional languages
Proc. of a conference on Functional programming languages and computer architecture
Reasoning about programs in continuation-passing style.
LFP '92 Proceedings of the 1992 ACM conference on LISP and functional programming
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Linear logic: its syntax and semantics
Proceedings of the workshop on Advances in linear logic
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Let-floating: moving bindings to give faster programs
Proceedings of the first ACM SIGPLAN international conference on Functional programming
A type based sharing analysis for update avoidance and optimisation
ICFP '98 Proceedings of the third ACM SIGPLAN international conference on Functional programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Improvement in a lazy context: an operational theory for call-by-need
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A transformation-based optimiser for Haskell
Science of Computer Programming - Special issue on the 6th European symposium on programming
Operational interpretations of linear logic
Theoretical Computer Science - Special issue on linear logic, 1
A semantic model of reference counting and its abstraction (detailed summary)
LFP '86 Proceedings of the 1986 ACM conference on LISP and functional programming
Proceedings of the 1992 Glasgow Workshop on Functional Programming
The nofib Benchmark Suite of Haskell Programs
Proceedings of the 1992 Glasgow Workshop on Functional Programming
A Usage Analysis with Bounded Usage Polymorphism and Subtyping
IFL '00 Selected Papers from the 12th International Workshop on Implementation of Functional Languages
Deriving a lazy abstract machine
Journal of Functional Programming
Improving flow analyses via ΓCFA: abstract garbage collection and counting
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Making a fast curry: push/enter vs. eval/apply for higher-order languages
Journal of Functional Programming
A generic usage analysis with subeffect qualifiers
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Making "stricterness" more relevant
Proceedings of the 2010 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
Since the mid '80s, compiler writers for functional languages (especially lazy ones) have been writing papers about identifying and exploiting thunks and lambdas that are used only once. However it has proved difficult to achieve both power and simplicity in practice. We describe a new, modular analysis for a higher-order language, which is both simple and effective, and present measurements of its use in a full-scale, state of the art optimising compiler. The analysis finds many single-entry thunks and one-shot lambdas and enables a number of program optimisations.