>>>>> "PRL" == Perl6 RFC Librarian <[EMAIL PROTECTED]> writes:

PRL> All threads see the same compiled subroutines

Why? Why not allow two different threads to have a different view of
the universe?

PRL> All threads share the same global variables

_All_ or only as requested by the user (ala :shared)?

PRL> Threads can create thread-local storage by C<local>izing global variables

I'd prefer the other way. Sharing has to be declared. Much less work on
the -internals folks. Much less handshaking has to go on. In otherwords
privacy is the default.

PRL> All threads share the same file-scoped lexicals

Same issues a Globals. Privacy should be the default.

PRL> Each thread gets its own copy of block-scoped lexicals upon execution
PRL> of C<my>

Why? Perhaps I want a shared my?

PRL> Threads can share block-scoped lexicals by passing a reference to a
PRL> lexical into a thread, by declaring one subroutine within the scope of
PRL> another, or with closures.

Sounds complex to me. Why not make it simply visible by marking it as such?

PRL> The interpreter guarantees data coherence

It can't, don't even try. What if I need two or more variables kept in
sync. The user has to mediate. Perl can't determine this.

Perhaps, I'm archaic, but I really wouldn't mind if the thread model
basically copied the fork() model and required those variable that have
to live across threads to be marked as :shared.

<chaim>
-- 
Chaim Frenkel                                        Nonlinear Knowledge, Inc.
[EMAIL PROTECTED]                                               +1-718-236-0183

Reply via email to