Next: , Previous: , Up: Derived expression types   [Contents][Index]


4.2.5 Delayed evaluation

library syntax: delay <expression>

The ‘delay’ construct is used together with the procedure force to implement lazy evaluation or call by need. (delay <expression>) returns an object called a promise which at some point in the future may be asked (by the ‘force’ procedure) to evaluate <expression>, and deliver the resulting value. The effect of <expression> returning multiple values is unspecified.

See the description of ‘force’ (section see Control features) for a more complete description of ‘delay’.