Implementing a stepper using delimited continuations
A stepper is a tool that displays all the steps of a program's execution. To implement a stepper, we need to reconstruct each intermediate program from the current redex and the evaluation context. We regard evaluation contexts as delimited continuations and capture them using the control operators shift and reset. This enables us to implement a stepper concisely by writing an evaluator that is close to the standard big-step interpreter. Our implementation is a non-trivial application of shift and reset.
2007 ◽
Vol 17
(6)
◽
pp. 687-730
◽
Keyword(s):
Keyword(s):