kirancodes.me
To Proof Maintenance & Beyond!

Specifying the Correctness of Binding-Time Analysis

Mitchell Wand

Abstract

Mogensen has exhibited a very compact partial evaluator for the pure lambda calculus, using binding-time analysis followed by specialization. We give a correctness criterion for this partial evaluator and prove its correctness relative to this specification. We show that the conventional properties of partial evaluators, such as the Futamura projections, are consequences of this specification. By considering both a flow analysis and the transformation it justifies together, this proof suggests a framework for the incorporating flow analyses into verified compilers.

DOI 10.1145/158511.158614

Related papers