[cells-cvs] CVS cells

ktilton ktilton at common-lisp.net
Mon Jun 5 00:01:22 UTC 2006


Update of /project/cells/cvsroot/cells
In directory clnet:/tmp/cvs-serv2216

Modified Files:
	link.lisp md-slot-value.lisp propagate.lisp 
Log Message:
evolving geometry; refinement of test case 01c-cascade

--- /project/cells/cvsroot/cells/link.lisp	2006/05/20 06:32:19	1.9
+++ /project/cells/cvsroot/cells/link.lisp	2006/06/05 00:01:22	1.10
@@ -22,30 +22,14 @@
 (eval-when (compile load)
  (proclaim '(optimize (speed 3) (safety 0) (space 0) (debug 0))))
 
-
 (defun c-link-ex (used &aux (user (car *c-calculators*)))
-  (c-assert user)
-  (c-assert used)
   (when (c-optimized-away-p used) ;; 2005-05-21 removed slow type check that used is cell
     (return-from c-link-ex nil))
-
-
-  ;
-  ; --------- debug stuff --------------
-  (c-assert user)
-  (c-assert (c-model user))
-  (c-assert (c-model used))
-
-  #+dfdbg (trc user "c-link > user, used" user used)
-  (c-assert (not (eq :eternal-rest (md-state (c-model user)))))
-  (c-assert (not (eq :eternal-rest (md-state (c-model used)))))
-  (count-it :c-link-entry)
-
+  (trc nil "c-link-ex entry: used=" used :user user)
   (multiple-value-bind (used-pos useds-len)
       (loop with u-pos
           for known in (cd-useds user)
           counting known into length
-            ;; do (print (list :data known length))
           when (eq used known)
           do
             (count-it :known-used)
@@ -56,7 +40,9 @@
       (trc nil "c-link > new user,used " user used)
       (count-it :new-used)
       (setf used-pos useds-len)
-      (push used (cd-useds user)))
+      (push used (cd-useds user))
+      (user-ensure used user) ;; 060604 experiment was in unlink
+      )
 
     (handler-case
         (setf (sbit (cd-usage user) used-pos) 1)
@@ -68,7 +54,6 @@
   used)
 
 
-
 ;--- c-unlink-unused --------------------------------
 
 (defun c-unlink-unused (c &aux (usage (cd-usage c)))
@@ -81,7 +66,10 @@
                                 (count-it :unlink-unused)
                                 (c-unlink-user (car useds) c)
                                 (rplaca useds nil))
-                            (user-ensure (car useds) c))))
+                            (progn
+                              ;; moved into c-link-ex 060604 (user-ensure (car useds) c)
+                              )
+                            )))
                    (if (cdr useds)
                        (progn
                          (nail-unused (cdr useds))
--- /project/cells/cvsroot/cells/md-slot-value.lisp	2006/05/30 02:47:45	1.15
+++ /project/cells/cvsroot/cells/md-slot-value.lisp	2006/06/05 00:01:22	1.16
@@ -42,13 +42,12 @@
   (if c
       (prog1
           (with-integrity ()
-            (c-value-ensure-current c :md-slot-value))
+            (c-value-ensure-current c))
         (when (car *c-calculators*)
           (c-link-ex c)))
     (values (bd-slot-value self slot-name) nil)))
   
-(defun c-value-ensure-current (c &optional (debug-id :anon-caller))
-  (declare (ignorable debug-id))
+(defun c-value-ensure-current (c)
   (count-it :c-value-ensure-current)
   (trc nil "c-value-ensure-current >" c)
   (cond
@@ -59,7 +58,7 @@
 
    ((or (not (c-validp c))
       (some (lambda (used)
-              (c-value-ensure-current used :recursive-used)
+              (c-value-ensure-current used)
               (trc nil "comparing pulses (user, used): " (c-pulse c)(c-pulse used))
               (when (and (c-changed used) (> (c-pulse used)(c-pulse c)))
                  (trc nil "used changed" c used)
--- /project/cells/cvsroot/cells/propagate.lisp	2006/05/30 02:47:45	1.13
+++ /project/cells/cvsroot/cells/propagate.lisp	2006/06/05 00:01:22	1.14
@@ -165,11 +165,11 @@
       (with-integrity (:tell-dependents c)
         (assert (null *c-calculators*))
         (let ((*causation* causation))
-          (trc nil "c-propagate-to-users > notifying users of" c)
+          (trc "c-propagate-to-users > notifying users of" c (mapcar 'c-slot-name (c-users c)))
           (dolist (user (c-users c))
             (unless (member (cr-lazy user) '(t :always :once-asked))
               (trc nil "propagating to user is (used,user):" c user)
-              (c-value-ensure-current user :user-propagation))))))))
+              (c-value-ensure-current user))))))))
 
 
 




More information about the Cells-cvs mailing list