Tagging, encoding, and jones optimality

  • Authors:
  • Olivier Danvy;Pablo E. Martínez López

  • Affiliations:
  • BRICS, Department of Computer Science, University of Aarhus, Aarhus C, Denmark;LIFIA, Universidad Nacional de La Plata, Bs.As. Argentina

  • Venue:
  • ESOP'03 Proceedings of the 12th European conference on Programming
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

A partial evaluator is said to be Jones-optimal if the result of specializing a self-interpreter with respect to a source program is textually identical to the source program, modulo renaming. Jones optimality has already been obtained if the self-interpreter is untyped. If the selfinterpreter is typed, however, residual programs are cluttered with type tags. To obtain the original source program, these tags must be removed. A number of sophisticated solutions have already been proposed. We observe, however, that with a simple representation shift, ordinary partial evaluation is already Jones-optimal, modulo an encoding. The representation shift amounts to reading the type tags as constructors for higherorder abstract syntax. We substantiate our observation by considering a typed self-interpreter whose input syntax is higher-order. Specializing this interpreter with respect to a source program yields a residual program that is textually identical to the source program, modulo renaming.