Hello again!
I'll keep this short as it is getting late over here. Here is a recap of what has been happening. We define new classes with a `deftransactional-class' form.
(deftransactional-class foo () ((a :initarg :a :accessor a)))
Slots are automatically kept track of. Whenever we read or write to them, the changes are intercepted with the MOP's `slot-value-using-class'. We write it to the current transaction log, to be committed later.
Today I worked on composing transactions. I've made them compose sequentially. Alternate composition is a while off. I think I need to make nested transactions possible first. I'll abruptly end now.
Remember, to get the latest:
darcs get http://common-lisp.net/project/cl-stm
or alternatively browse it on the web at:
http://common-lisp.net/cgi-bin/darcsweb/darcsweb.cgi?r=cl-stm%20cl-stm;a=sum...
Hoan