On Tue, Aug 19, 2008 at 10:02 AM, Graham Fawcett <[EMAIL PROTECTED]> wrote: > On Tue, Aug 19, 2008 at 9:36 AM, Tobia Conforto <[EMAIL PROTECTED]> wrote: >> Jörg F. Wittenberger wrote: >>> >>> are dynamic-wind pre/post-thunks by chicken executed upon each thread >>> switch? >> >> Why would they? > > It's not a bad question. When threads are implemented using > continuations, it is reasonable to expect dynamic-wind to be triggered > in a context switch. I don't have references at hand, but I've read an > academic paper or two on this issue.
Ah, I found the paper I was thinking of: Martin Gasbichler, Eric Knauel, Michael Sperber Richard A. Kelsey: How to Add Threads to a Sequential Language Without Getting Tangled Up, In The 2003 Scheme Workshop, Boston, Ma., October 2003 Abstract: It is possible to integrate Scheme-style first-class continuations and threads in a systematic way. We expose the design choices, discuss their consequences, and present semantical frameworks that specify the behavior of Scheme programs in the presence of threads. While the issues concerning the addition of threads to Schemelike languages are not new, many questions have remained open. Among the pertinent issues are the exact relationship between continuations and the call-with-current-continuation primitive, the interaction between threads, first-class continuations, and dynamic-wind, the semantics of dynamic binding in the presence of threads, and the semantics of thread-local store. Clarifying these issues is important because the design decisions related to them have have profound effects on the programmer's ability to write modular abstractions. Best, Graham _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users