Okay,

I've been thinking about closures, continuations, and coroutines, and
one of the interfering points has been threads.

What's the P6 thread model going to be?

As I see it, parrot gives us the opportunity to implement preemptive
threading at the VM level, even if it's not available via the OS.

Thinking about coroutines and continuations leads to the conclusion
that you need a segmented stack (duh). But it also makes you wonder
about how that stack interoperates with the threading subsystem. If
there's one stack per thread (obvious) then you're committing to an
"overt threading" model (user declares threads). 

If the stacks are allowed to fork (which they must, to support even
Damian's generator-style coroutines) then there's the possibility of
supporting a "single, unified stack-tree" which means that generators
might contain their state across threads, and full coroutines may run
in parallel.

Anyway, I though the list was too quiet...

=Austin

Reply via email to