|
ABSTRACT
Strictness optimizations in the implementation of lazy functional languages are not always valid. In nonoptimized graph reduction, evaluation always takes place at the request of case analysis or a primitive operation. Hence, the result of a reduction is always a data value and never a function. This implies that in an implementation no argument satisfaction check is required. But in the presence of strict arguments, “premature” reduction may take place outside the scope of a case or primitive operation. This causes problems in graph reducers that use an aggressive take. Two solutions are presented, one based on a run-time argument satisfaction check, the other on a weakened strictness analyzer. Experimental results are used to compare the two solutions and show that the cost of the aggressive take can be arbitrarily high for specific programs. The experimental results enable a trade-off to be made by the reduction machine designer.
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
|
|
| |
2
|
|
| |
3
|
BEEMSTER, M. 1993. Optimizing transformations for a lazy functional language. In the 7th Computer Systems, W.-J. Withagen, Ed. Eindhoven Univ. of Technology, The Netherlands, (Nov.), 17-40.
|
| |
4
|
BEEMSTER, M. 1992. The lazy functional intermediate language STOFFEL. Tech. Rep. CS-92-16, Dept of Computer Systems, Univ. of Amsterdam, The Netherlands.
|
 |
5
|
G. L. Burn , S. L. Peyton Jones , J. D. Robson, The spineless G-machine, Proceedings of the 1988 ACM conference on LISP and functional programming, p.244-258, July 25-27, 1988, Snowbird, Utah, United States
[doi> 10.1145/62678.62717]
|
| |
6
|
|
| |
7
|
|
| |
8
|
|
| |
9
|
THE GRASP TEAM. 1992. The glorious HASKELL compilation system user's guide. Tech. Rep. Dept. of Computer Science, Univ. of Glasgow, Scotland.
|
| |
10
|
|
| |
11
|
HowE, D.B. 1992. Experiments with strict STG code. In the 4th international Workshop on the Parallel Implementation of Functional Languages, H. Kuchen, and R. Loogen, Eds. Aachener Informatik-Berichte 92-19, Fachgruppe Informatik, RWTH Aachen, Germany, 1-8.
|
 |
12
|
Paul Hudak , Simon Peyton Jones , Philip Wadler , Brian Boutel , Jon Fairbairn , Joseph Fasel , María M. Guzmán , Kevin Hammond , John Hughes , Thomas Johnsson , Dick Kieburtz , Rishiyur Nikhil , Will Partain , John Peterson, Report on the programming language Haskell: a non-strict, purely functional language version 1.2, ACM SIGPLAN Notices, v.27 n.5, p.1-164, May 1992
[doi> 10.1145/130697.130699]
|
 |
13
|
|
| |
14
|
|
| |
15
|
MULLER, H. L. 1992. Simulating computer architectures. Ph.D. thesis, Dept of Computer Systems, Univ. of Amsterdam, (Feb.), The Netherlands.
|
| |
16
|
N0CKER, E. G. J. M.H. 1990. Strictness analysis using abstract reduction. Implementation of functional languages on parallel architectures. Tech. Rep. 90-16, Dept. of Computer Science, Univ. of Nijmegen, The Netherlands, (June), 171-201.
|
| |
17
|
PEYTON JONES, S.L. 1992. Implementing lazy functional languages on stock hardware: The spineless tag}ess G-machine. J. Funct. Program. 2, 2 (Apr.) 127-202.
|
| |
18
|
|
| |
19
|
VREE, W.G. 1989. Design considerations for a parallel reduction machine. Ph.D. thesis, Dept of Computer Systems, Univ of Amsterdam, The Netherlands, Dec.
|
| |
20
|
VREE, W. G. AND HARTEL P. H. 1992. Communication lifting: Fixed point computation for parallelism. Tech. Rep. CS-92-07, Dept of Computer Systems, Univ. of Amsterdam, The Netherlands, Dec.
|
 |
21
|
|
REVIEW
"Dirk Dussart : Reviewer"
Beemster starts where most other papers on strictness optimization
end. This paper investigates how the information gathered by a
strictness analyzer can be used at the implementation level. Strictness
analysis has become a popular optimizatio
more...
|