I've changed the name of the PDD from "Threads" to "Concurrency"
because: a) the notion of "threads" seems to have taken on mythical
proportions, so this is a symbolic step toward practicality, and b)
Parrot has more than one concurrency model, and this PDD will be the
overview of all them, plus the ways the various models interact.
Allison
There is a recent thread over at PerlMonks on this very topic:
"Parrot, threads & fears for the future"
http://perlmonks.org/?node_id=580004
The thread is long and goes on tangents at points. Not every one has kept
an
objective perspective and it has its share of finger pointing doom and
gloom.
All negativity aside, there are a great deal of valuable points made in the
thread
which make it worth reading. While it has lost a bit of momentum - it is
still
being updated with new posts almost daily.
Allison
Cheers,
Joshua Gatcomb
a.k.a. Limbic~Region
Excellent. Thanks for the pointer, Joshua. Definitely some good ideas
mixed in there.
Hmmm... high on my wishlist: sandboxing for non-concurrent code running
inside concurrent code.
Oh, the Io language, which I've been interested in lately, also makes
use of the concept of "futures" for concurrency. It's got a degree of
appeal to it.
Allison
Perl 6's feeds (lazy lists) can also be viewed as a form of futures,
insofar as they tell the compiler that you don't care much about the
ordering of side effects between the producer and the consumer. They
just set up the return pipeline without necessarily demanding a return
value immediately.
Larry