Shrinking lambda expressions in linear time

38Citations
Citations of this article
15Readers
Mendeley users who have this article in their library.

Abstract

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.

Cite

CITATION STYLE

APA

Appel, A. W., & Jim, T. (1997). Shrinking lambda expressions in linear time. Journal of Functional Programming, 7(5), 515–540. https://doi.org/10.1017/S0956796897002839

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free