Compiling lambda-expressions using continuations and factorizations

  • Authors:
  • Mitchell Wand;Daniel P. Friedman

  • Affiliations:
  • Indiana University, Bloomington, IN 47401, U.S.A.;Indiana University, Bloomington, IN 47401, U.S.A.

  • Venue:
  • Computer Languages
  • Year:
  • 1978

Quantified Score

Hi-index 0.00

Visualization

Abstract

We present a source-level transformation for recursion-removal with several interesting characteristics: 1.(i) the algorithm is simple and provably correct; 2.(ii) the stack utilization regime is chosen by the compiler rather than being fixed by the run-time environment; 3.(iii) the stack is available at the source language level so that further optimizations are possible; 4.(iv) the algorithm arises from ideas in category theory. In addition to its implications for compilers, the transformation algorithm is useful as an implementation technique for advanced LISP-based systems, and one such application is described.