On Sun, May 18, 2008 at 10:17 PM, Larry Clapp larry@theclapp.org wrote:
Do I need to wrap perturb-test too? e.g.
(defmodel test () ((a :initarg :a :initform (c-in (list 'a)) :accessor a) (a-changed :initform (c-in 0) :accessor a-changed) (b :initarg :b :initform (c? (and (^a-changed) (car (^a)))) :accessor b)))
...
(defun perturb-test (self y) (prog1 (setf (car (^a)) y) (incf (^a-changed))))
Interesting side note: This is exactly how the cells-store (the cellsy hash table) works. If you can live with the hackish nature of it, it will probably work fine.
If you have access to the way some-other-package is compiled, you could try and shadow car/cdr so that they trigger an appropriate update.
Peter