Engine (computer science)

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 ...)))) 

References

[edit]
  1. ^ Dybvig, R. Kent; Hieb, Robert (July 21, 1988). "Engines from Continuations" (PDF). Indiana University - Computer Science Department.{{cite web}}: CS1 maint: url-status (link)
  2. ^ Haynes, Christopher T.; Friedman, Daniel P. (1987-01-01). "Abstracting timed preemption with engines". Computer Languages. 12 (2): 109–121. doi:10.1016/0096-0551(87)90003-8.