Tagging, encoding, and jones optimality

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 ty...

Descripción completa

Guardado en:
Detalles Bibliográficos
Autores principales: Danvy, Olivier, Martínez López, Pablo E.
Formato: Objeto de conferencia
Lenguaje:Español
Publicado: 2003
Materias:
Acceso en línea:http://sedici.unlp.edu.ar/handle/10915/134244
Aporte de:
Descripción
Sumario: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.