Engine (computer science) explained

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-syntax timed-lambda ((_ formals exp1 exp2 ...) (lambda formals (decrement-timer) exp1 exp2 ...))))

Notes and References

  1. Web site: Dybvig . R. Kent . Hieb . Robert . July 21, 1988 . Engines from Continuations . Indiana University - Computer Science Department.
  2. Haynes . Christopher T. . Friedman . Daniel P. . 1987-01-01 . Abstracting timed preemption with engines . Computer Languages . en . 12 . 2 . 109–121 . 10.1016/0096-0551(87)90003-8.