R. Kent Dybvig and Robert Hieb. Engines from continuations. Journal of Computer Languages 14, 2, 109-123, 1989 (bibtex).

Engines provide the means for a computation to be run for a limited period of time, interrupted if it does not complete in that time, and later restarted from the point of interruption. Previous work on engines demonstrated that engines can be implemented by defining a new interpreter to support them. This article demonstrates that engines may be defined in terms of continuations and timer interrupts and thereby incorporated into an existing language implementation. The article extends the engine mechanism to solve several problems with nestable engines, and demonstrates that the extended mechanism can be implemented in terms of continuations as well.

Engines, Continuations, Timed Preemption