This article needs additional citations for verification .(July 2017) |
An engine is a continuation-based construct that provides timed preemption. Engines which can contain other engines are sometimes called Nesters [1] and engines which do not have this ability are then called flat engines or "solo engines". To implement timed preemption there needs to be a clock. This clock can measure real time or simulated time. Simulated time can be implemented in a language like Scheme, by making each function start with decrementing the clock. [2]
(define-syntaxtimed-lambda((_formalsexp1exp2...)(lambdaformals(decrement-timer)exp1exp2...))))