Skip to main navigation Skip to search Skip to main content

The theory of strictness analysis for higher order functions

Geoffrey L. Burn, Chris Hankin, Samson Abramsky

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Abstract interpretation is a compile-time technique which is used to gain information about a program that may then be used to optimise the execution of the program. A particular use of abstract interpretation is in strictness analysis of functional programs. This provides the key to the exploitation of parallelism in the evaluation of programs written in functional languages. In a language that has lazy semantics, the main potential for parallelism arises in the evaluation of operands of strict operators. A function is strict in an argument if its value is undefined whenever the argument is undefined. If we can use strictness analysis to detect which arguments a function is strict in, we then know that these arguments can be safely evaluated in parallel because this will not affect the lazy semantics. Experimental results suggest that this leads to significant speed-ups.
Mycroft was the first person to apply abstract interpretation to the strictness analysis of functional programs. His framework only applies to first-order functions on flat domains. Several workers have proposed practical approaches to strictness analysis of higher-order functions over flat base domains but their work has not been accompanied by extensions to Mycroft's theoretical framework. In this paper we give sound mathematical foundations for this work and discuss some of the practical issues involved. The practical approach is proved correct in relation to the theoretical framework.
Original languageEnglish
Title of host publicationPrograms as Data Objects
Subtitle of host publicationProceedings of a Workshop Copenhagen, Denmark, October 17–19, 1985
PublisherSpringer
Pages42-62
Number of pages21
ISBN (Electronic)978-3-540-39786-1
ISBN (Print)978-3-540-16446-3
DOIs
Publication statusPublished - 1985

Publication series

NameLecture Notes in Computer Science
PublisherSpringer Berlin Heidelberg
Volume217
ISSN (Print)0302-9743

Fingerprint

Dive into the research topics of 'The theory of strictness analysis for higher order functions'. Together they form a unique fingerprint.

Cite this