Hostname: page-component-78c5997874-8bhkd Total loading time: 0 Render date: 2024-11-14T22:28:34.941Z Has data issue: false hasContentIssue false

Shrinking lambda expressions in linear time

Published online by Cambridge University Press:  01 September 1997

ANDREW W. APPEL
Affiliation:
Princeton University, Princeton, NJ 08544-2087, USA (e-mail: appel@princeton.edu)
TREVOR JIM
Affiliation:
University of Pennsylvania, Philadelphia, PA 19104-6389, USA (e-mail: tjim@saul.cis.upenn.edu)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the ‘Save PDF’ action button.

Functional-language compilers often perform optimizations based on beta and delta reduction. To avoid speculative optimizations that can blow up the code size, we might wish to use only shrinking reduction rules guaranteed to make the program smaller: these include dead-variable elimination, constant folding, and a restricted beta rule that inlines only functions that are called just once. The restricted beta rule leads to a shrinking rewrite system that has not previously been studied. We show some efficient normalization algorithms that are immediately useful in optimizing compilers; and we give a confluence proof for our system, showing that the choice of normalization algorithm does not affect final code quality.

Type
Research Article
Copyright
© 1997 Cambridge University Press
Submit a response

Discussions

No Discussions have been published for this article.