ACM Home Page
Please provide us with feedback. Feedback
Cheap eagerness: speculative evaluation in a lazy functional language
Full text PdfPdf (584 KB)
Source International Conference on Functional Programming archive
Proceedings of the fifth ACM SIGPLAN international conference on Functional programming table of contents
Pages: 150 - 161  
Year of Publication: 2000
ISBN:1-58113-202-6
Also published in ...
Author
Karl-Filip Faxén  Dept. of Teleinformatics, KTH, Stockholm
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 3,   Downloads (12 Months): 19,   Citation Count: 5
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/351240.351255
What is a DOI?

ABSTRACT

Cheap eagerness is an optimization where cheap and safe expressions are evaluated before it is known that their values are needed. Many compilers for lazy functional languages implement this optimization, but they are limited by a lack of information about the global flow of control and about which variables are already evaluated. Without this information, even a variable reference is a potentially unsafe expression!In this paper we show that significant speedups are achievable by cheap eagerness. Our cheapness analysis uses the results of a program-wide data and control flow analysis to find out which variables may be unevaluated and which variables may be bound to functions which are dangerous to call.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
S. Abramsky. Abstract interpretation, logical relations and Kan extensions. Journal of Logic and Computation, 1(1):5-39, 1990.
 
2
 
3
Karl-Filip Faxen. Analysing, Transforming and Compiling Lazy Functional Programs. PhD thesis, Department ofTeleinformatics, Royal Institute of Technology, June 1997.
 
4
Karl-Filip Faxen. Representation analysis for coercion placement. In Konstantinos Sagonas and Paul Tarau, editors, Proceedings of the International Workshop on Implementation of Declarative Languages, September 1999.
 
5
6
7
8
9
 
10
 
11
Simon Peyton Jones and John Hughes. Report on the programming language Haskell 98. Downloadable from www.haskell.org, February 1999.
 
12
13
 
14
Andr~e Santos. Compilation by Transformation in Non-Strict Functional Languages. PhD thesis, Glasgow University, Department of Computing Science, 1995.
 
15
Peter Sestoft. Analysis and efficient implementation of functional programs. PhD thesis, DIKU, University of Copenhagen, Denmark, October 1991.
16
 
17
 
18
 
19