Defunctionalization at Work

Olivier Danvy
Lasse R. Nielsen

June 2001


We study practical applications of Reynolds's defunctionalization technique, which is a whole-program transformation from higher-order to first-order functional programs. This study leads us to discover new connections between seemingly unrelated higher-order and first-order specifications and their correctness proofs. We thus perceive defunctionalization both as a springboard and as a bridge: as a springboard for discovering new connections between the first-order world and the higher-order world; and as a bridge for transferring existing results between first-order and higher-order settings

Available as PostScript, PDF, DVI.


Last modified: 2003-06-08 by webmaster.