> Please read the RFC and AFTER you can make suggestions. These _all_
> are mentioned in the rfc!
Okay, I have read it now. Now I'm going to make suggestions :-) (Note
that so far I've been commenting only on the aspects of making things
'thread-safe', not on the RFC itself. 'Threadsafing' Perl is what
I've deemed to be "too complex".) (Also note that I'm not a database
guru, so please bear with me, and don't ask me to write the code :-)
If I understood correctly, you basically want to extend the existing
tie()-interface to be useful for versioned variables. (That they are
'transactioned' is just a choice of words.) To *safely* do data
versioning one needs database-like COMMIT and ROLLBACK features.
While I do understand your basic request and I quite like the idea of
having versioned data, I do not see the need for a new variable type,
neither by introducing a new keyword, nor a by a new variable
attribute. Also, from implementation viewpoint introducing all the
required thread-safeness into the very core of Perl doesn't sound good
to me. Yes, it would be a very neat thing to have. But making all
non-transaction-requiring Perl programs to pay the {speed,size} price
for the thread-safing locking machinery doesn't sound good. Then
again, having such functionality as an external "loadable module"
doesn't sound too bad. What would be valuable from Perl 6 RFC/design
viewpoint would be to take a careful look at the tie() interface and
for Perl 6 design an extendable interface so that methods like COMMIT,
ROLLBACK, et cetera can be easily implemented.
--
$jhi++; # http://www.iki.fi/jhi/
# There is this special biologist word we use for 'stable'.
# It is 'dead'. -- Jack Cohen