Engine (computer science)

{{More references|date=July 2017}}

An engine is a continuation-based construct that provides timed preemption. Engines which can contain other engines are sometimes called Nesters{{Cite web |last1=Dybvig |first1=R. Kent |last2=Hieb |first2=Robert |date=July 21, 1988 |title=Engines from Continuations |url=https://legacy.cs.indiana.edu/~dyb/pubs/engines.pdf |website=Indiana University - Computer Science Department}} 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.{{Cite journal |last1=Haynes |first1=Christopher T. |last2=Friedman |first2=Daniel P. |date=1987-01-01 |title=Abstracting timed preemption with engines |url=https://dl.acm.org/doi/10.1016/0096-0551%2887%2990003-8 |journal=Computer Languages |language=en |volume=12 |issue=2 |pages=109–121 |doi=10.1016/0096-0551(87)90003-8}}

(define-syntax timed-lambda

((_ formals exp1 exp2 ...)

(lambda formals (decrement-timer) exp1 exp2 ...))))

References

{{Reflist}}

Category:Control flow

Category:Continuations

{{compsci-stub}}