Refunctionalization at work
We present the left inverse of Reynolds' defunctionalization and we show its relevance to programming and to programming languages. We propose two methods to transform a program that is almost in defunctionalized form into one that is actually in defunctionalized form, and we illustrate them with a recognizer for Dyck words and with Dijkstra's shunting-yard algorithm. (C) 2009 Elsevier B.V. All rights reserved.
refunctionalization defunctionalization shunting-yard algorithm abstract machines continuations continuation-passing style (cps)