Next: , Previous: , Up: unwind   [Contents][Index]


6.3 On the meaning of dynamic extent termination

The concept of dynamic extent termination is defined by MMCK Exceptional Conditions’s unwind–protection mechanism and it is not a standard Scheme concept. In this discussion, we consider the syntax use:

(with-unwind-handler ?unwind-handler ?thunk)

the procedure ?unwind-handler is called when the dynamic extent of the invocation of ?thunk terminates; dynamic extent termination is different from dynamic extent exiting as determined by dynamic-wind. When the execution flow exits the dynamic extent of a function call: such extent might also terminate, but not all the exits are also terminations.

The dynamic extent of a call to ?thunk is terminated, and so ?unwind-handler is invoked, when:

The dynamic extent of a call to ?thunk is not terminated, and so ?unwind-handler is not invoked, when:

About the termination of the dynamic extent of ?thunk, we must acknowledge that:

If ?unwind-handler raises an exception: such exception is blocked and discarded.


Next: , Previous: , Up: unwind   [Contents][Index]

This document describes version 0.1.0-devel.1 of MMCK Exceptional Conditions.