[r6rs-discuss] [Formal] SRFI-39 should be made an R6RS library

R. Kent Dybvig dyb at cs.indiana.edu
Mon Feb 12 19:00:19 EST 2007


> 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.

No exclusion is necessary if the state used by dynamic wind is per-thread,
as is the case in Chez Scheme.

Kent



More information about the r6rs-discuss mailing list