Abstract
Strictness analysis techniques can be classified along four different dimensions: first-order vs. higher-order, flat vs. non-flat, low fidelity vs. high fidelity, and forward vs. backward. Plotting a table of the positions of known techniques within this space reveals that certain regions are densely occupied while others are empty. In particular, techniques for high-fidelity forward and low-fidelity backward analysis are well known, while those for low-fidelity forward and high-fidelity backward analysis are lacking. This paper fills in the gaps: the low-fidelity forward methods provide faster analyses than the high-fidelity forward methods, at the cost of accuracy, while the high-fidelity backward methods provide more information than the low-fidelity backward methods, at the cost of time.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abramsky, S. “Strictness analysis and polymorphic invariance.” In Proceedings of the Workshop on Programs a Data Objects (Copenhagen). H. Ganzinger and N. Jones, eds. LNCS 217. Springer-Verlag, Berlin, 1985.
Abramsky, S. and Hankin, C. (eds.). Abstract Interpretation of Declarative Languages. Ellis-Horwood, 1987.
Abramsky, S. and Hankin, C. “An introduction to abstract interpretation.” Chapter 1 of [AH87b]
Burn, G.L. “A relationship between abstract interpretation and projection analysis.” POPL (San Francisco, January, 1990).
Burn, G., Hankin, C., and Abramsky, S. “The theory of strictness analysis for higher-order functions.” In Proceedings of the Workshop on Programs a Data Objects (Copenhagen). H. Ganzinger and N. Jones, eds. LNCS 217. Springer-Verlag, Berlin, 1985
Clack, C. and Peyton Jones, S. “Strictness analysis—A practical ap-proach.” In Proceedings of Functional Programming Languages and Computer Architecture (Nancy, France). J.-P. Jounannaud, ed., LNCS 201. Springer-Verlag, Berlin, 1985.
Davis, K. “Trading accuracy for efficiency in forwards strictness analysis.” Unpublished report, 1989.
Davis, K. and Wadler, P. “Strictness analysis: Proved and improved.” In Functional Programming: Proceedings of the 1989 Glasgow Workshop 21–18 August 1989 Fraserburgh Scotland. K. Davis and J. Hughes, eds. Springer Workshops in Computing. Springer-Verlag, 1990.
“Strictness detection in non-flat domains.” Proceedings of the Workshop on Programs a Data Objects (Copenhagen). H. Ganzinger and N. Jones, eds. LNCS 217. Springer-Verlag, Berlin, 1985
Hughes, R.J.M. Backwards Analysis of Functional Programs. Departmental Research Report CSC/87/R3, Department of Computing Science, University of Glasgow, 1987.
Hughes, R.J.M. “Abstract Interpretation of First-Order Polymorphic Functions.” Proceedings of the 1988 Glasgow Workshop on Functional Programming. August 2–5, 1988, R.othesay, Isle of Bute, Scotland. Department of Computing Science, University of Glasgow, Glasgow, Scotland.
Hughes, R.J.M. “Projections for polymorphic strictness analysis.” In Category Theory and Computer Science (Manchester). D.H. Pitt, D.E. Rydeheard, P. Dybjer, A.M. Pitts, A. Poigne, eds. LNCS 389. Springer Verlag, Berlin, 1989.
Mycroft, A. Abstract Interpretation and Optimising Transformations for Applicative Programs. Ph.D. thesis, University of Edinburgh, 1981.
Stoy, Joseph E. Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory. The MIT Press, Cambridge, Massachusetts, 1977.
Wadler, P. “Strictness analysis on non-flat domains by abstract interpretation over finite domains.” Chapter 12 of [AH87].
Wadler, P., and Hughes, J. Projections for Strictness Analysis. Report 35, Programming Methodology Group, Department of Computer Sciences, Chalmers University of Technology and University of Göteborg, Göteborg, Sweden, 1987.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Davis, K., Wadler, P. (1991). Strictness Analysis in 4D. In: Jones, S.L.P., Hutton, G., Holst, C.K. (eds) Functional Programming, Glasgow 1990. Workshops in Computing. Springer, London. https://doi.org/10.1007/978-1-4471-3810-5_3
Download citation
DOI: https://doi.org/10.1007/978-1-4471-3810-5_3
Publisher Name: Springer, London
Print ISBN: 978-3-540-19667-9
Online ISBN: 978-1-4471-3810-5
eBook Packages: Springer Book Archive