English

Positive Supercompilation for a Higher-Order Call-By-Value Language

Programming Languages 2015-07-01 v2

Abstract

Previous deforestation and supercompilation algorithms may introduce accidental termination when applied to call-by-value programs. This hides looping bugs from the programmer, and changes the behavior of a program depending on whether it is optimized or not. We present a supercompilation algorithm for a higher-order call-by-value language and prove that the algorithm both terminates and preserves termination properties. This algorithm utilizes strictness information to decide whether to substitute or not and compares favorably with previous call-by-name transformations.

Keywords

Cite

@article{arxiv.1005.5278,
  title  = {Positive Supercompilation for a Higher-Order Call-By-Value Language},
  author = {Peter A. Jonsson and Johan Nordlander},
  journal= {arXiv preprint arXiv:1005.5278},
  year   = {2015}
}
R2 v1 2026-06-21T15:29:07.153Z