On 2/12/07, bear <bear_at_sonic.net> wrote:
.
>
> dynamic-wind introduces a segment of code which must be executed whenever
> entering or leaving a continuation. Threads mean that a particular
> continuation may be entered and/or left simultaneously by different
> threads. If you cannot guarantee that the continuation was created
> by the same thread that's entering/leaving it, you cannot make an
> effective semaphore on the winding code without using a (mutable)
> variable that must be in shared memory. Hence, necessary hideousness;
> you cannot have both threads and continuations in the absence of
> mutation.
The return value of the entry and exit thunks is discarded and are
only for effect.
If there is no mutation, then there is no effect of running the entry
and exit thunks.
--
~jrm
Received on Mon Feb 12 2007 - 18:21:50 UTC