Delimited continuations for prolog
Tom Schrijvers, Bart Demoen, Benoit Desouter, Jan Wielemaker · Theory and Practice of Logic Programming · 2013
Abstract Delimited continuations are a famous control primitive that originates in the functional programming world. It allows the programmer to suspend and capture the remaining part of a computation in order to resume it later. We put a new Prolog-compatible face on this primitive and specify its semantics by means of a meta-interpreter. Moreover, we establish the power of delimited continuations in Prolog with several example definitions of high-level language features. Finally, we show how to easily and effectively add delimited continuations support to the WAM.