[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Demystifying Continuations
From: "David Simmons" <David.Simmons@smallscript.net>
>
> So you have a choice. You can implement continuations with inconsistent
> behaviour by having it do two things:
> (a) within the current thread, unwind back to the continuation frame
> (b) within another thread, don't unwind, but jump straight to the
> continuation frame.
I would argue that this is not inconsistent.
Each thread is a virtual machine, and within that thread the
continuations unwind. When switching threads, you are creating
the illusion of multiple execution units by time-division
multiplexing. If you literally had 100 processors, you wouldn't
actually be switching threads: each would be running simultaneously,
and you wouldn't expect to see unwinds happening.
An interesting thing here: it seems to make no sense to me
to invoke a continuation captured in another thread (or on
another virtual machine).