Lazy Library
The (scheme lazy)
library exports procedures and syntax keywords for lazy evaluation.
For more information see the R7RS Scheme Specification.
delay
(delay {expression})
Return a promise object that can be asked in the future (via force
) to evaluate {expression}
and return the result.
force
(force promise)
Force the value of a promise.
delay-force
(delay-force {expression})
make-promise
(make-promise obj)
Return a promise which will return obj
when forced. This function is similar to delay but does not delay its argument: it is a procedure rather than syntax. If obj
is already a promise, it is returned.
promise
(promise? obj)
Returns #t
if object is a promise, and #f
otherwise.