Previous: scheme basic proper tail recursion, Up: scheme basic [Index]
For a procedure call, the time between when it is initiated and when it
returns is called its dynamic extent. In Scheme,
call-with-current-continuation
allows reentering a dynamic extent
after its procedure call has returned. Thus, the dynamic extent of a
call may not be a single, connected time period.
Some operations described in the report acquire information in addition
to their explicit arguments from the dynamic environment. For
example, call-with-current-continuation
accesses an implicit
context established by dynamic-wind
, and the raise
procedure accesses the current exception handler.
The operations that modify the dynamic environment do so dynamically,
for the dynamic extent of a call to a procedure like dynamic-wind
or with-exception-handler
. When such a call returns, the
previous dynamic environment is restored. The dynamic environment can
be thought of as part of the dynamic extent of a call. Consequently, it
is captured by call-with-current-continuation
, and restored by
invoking the escape procedure it creates.