Faré,
(1) Doesn't having to acquire a global lock defeat the purpose of so-called lightweight transaction commits and just open the system to live-locks? (Certainly locks can be detected by a monitor, but the locking needed to properly update dependency meta-information in presence of the monitor only shuffles around the complexity of dependency information maintenance.)
Locks are used for mutual exclusion purposes. They are allocated per-slot, per-instance--there is no one global lock. I could be misunderstanding you here...
(2) A minor non-urgent style issue: wouldn't it be nice to use a regular MOP-enabled defclass with a proper metaclass (or metaclass mixin) rather than use a special purpose deftransactional-class? Are other people on this list familiar with the MOP, and what do they think of it?
The `deftransactional-class' is just a wrapper macro for `defclass' adding the metaclass option. Admittedly, its a bad name--if anyone could come up with a better one, I'd be glad to use it.
I'll sleep on it. Zzz...
Hoan