Lecture Notes in Computer Science, 1996, Volume 1181/1996, 273-284, DOI: 10.1007/3-540-62064-8_23

BTA Algorithms to ensure termination of off-line partial evaluation

Arne J. Glenstrup and Neil D. Jones

View Related Documents

Abstract

A partial evaluator, given a program and a known ldquostaticrdquo part of its input data, outputs a residual program in which computations depending only on the static data have been precomputed [3]. The ideal is a ldquoblack boxrdquo which discovers and performs nontrivial static computations whenever possible, and never fails to terminate. Practical partial evaluators fall short of this goal: they sometimes loop (typical of functional programing partial evaluation), or terminate but are excessively conservative (typical in partial deduction 1). This paper presents efficient algorithms (being implemented) for binding-time analysis for off-line specialisers. They ensure that the specialiser performs many nontrivial static computations, and are at the same time guaranteed to terminate.

Fulltext Preview

Image of the first page of the fulltext document