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

Reply via email to