[cells-cvs] CVS cells

ktilton ktilton at common-lisp.net
Tue May 30 02:47:45 UTC 2006


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

Modified Files:
	cells.asd cells.lisp cells.lpr md-slot-value.lisp 
	propagate.lisp 
Log Message:
Beginnings of tutorial/porting suite of demonstration/example/regression test code. Also, a fix to core Cells so rules can happen to return multiple values (say by using ROUND as the last form) without tripping over Synapse-handling.

--- /project/cells/cvsroot/cells/cells.asd	2006/03/19 00:28:38	1.3
+++ /project/cells/cvsroot/cells/cells.asd	2006/05/30 02:47:45	1.4
@@ -8,7 +8,7 @@
     :name "cells"
   :author "Kenny Tilton <kentilton at gmail.com>"
   :maintainer "Kenny Tilton <kentilton at gmail.com>"
-  :licence "MIT Style"
+  :licence "Lisp LGPL"
   :description "Cells"
   :long-description "Cells: a dataflow extension to CLOS."
   :serial t
--- /project/cells/cvsroot/cells/cells.lisp	2006/05/20 06:32:19	1.9
+++ /project/cells/cvsroot/cells/cells.lisp	2006/05/30 02:47:45	1.10
@@ -84,11 +84,11 @@
 (define-condition unbound-cell (unbound-slot) ())
 
 (defgeneric slot-value-observe (slotname self new old old-boundp)
-  #-(or cormanlisp clisp)
+  #-(or cormanlisp)
   (:method-combination progn))
 
 #-cells-testing
-(defmethod slot-value-observe #-(or cormanlisp clisp) progn
+(defmethod slot-value-observe #-(or cormanlisp) progn
   (slot-name self new old old-boundp)
   (declare (ignorable slot-name self new old old-boundp)))
 
--- /project/cells/cvsroot/cells/cells.lpr	2006/05/24 20:39:38	1.13
+++ /project/cells/cvsroot/cells/cells.lpr	2006/05/30 02:47:45	1.14
@@ -27,9 +27,7 @@
                  (make-instance 'module :name
                                 "doc\\01-Cell-basics.lisp")
                  (make-instance 'module :name
-                                "doc\\motor-control.lisp")
-                 (make-instance 'module :name
-                                "porting\\do-no-harm.lisp"))
+                                "doc\\motor-control.lisp"))
   :projects (list (make-instance 'project-module :name
                                  "utils-kt\\utils-kt"))
   :libraries nil
--- /project/cells/cvsroot/cells/md-slot-value.lisp	2006/05/20 06:32:19	1.14
+++ /project/cells/cvsroot/cells/md-slot-value.lisp	2006/05/30 02:47:45	1.15
@@ -191,9 +191,9 @@
         
         ; --- data flow propagation -----------
         ;
-        (trc nil "md-sv comparing no-prop" c prior-state absorbed-value prior-value)
+        (trc nil "md-sv testing propagation" c propagation-code prior-state absorbed-value prior-value)
         (if (or (eq propagation-code :no-propagate) ;; possible if c is a cell serving as a synapse between two cells
-              (and (null propagation-code)
+              (and (not (eq propagation-code :propagate))
                 (eql prior-state :valid)
                 (c-no-news c absorbed-value prior-value)))
             (progn
--- /project/cells/cvsroot/cells/propagate.lisp	2006/05/20 06:32:19	1.12
+++ /project/cells/cvsroot/cells/propagate.lisp	2006/05/30 02:47:45	1.13
@@ -119,7 +119,7 @@
        ,(if (eql (last1 output-body) :test)
             (let ((temp1 (gensym))
                   (loc-self (gensym)))
-              `(defmethod slot-value-observe #-(or clisp cormanlisp) ,(if aroundp :around 'progn)
+              `(defmethod slot-value-observe #-(or cormanlisp) ,(if aroundp :around 'progn)
                  ((slotname (eql ',slotname)) ,self-arg ,new-varg ,oldvarg ,oldvargboundp)
                  (let ((,temp1 (bump-output-count ,slotname))
                        (,loc-self ,(if (listp self-arg)
@@ -129,7 +129,7 @@
                      (format t "~&output ~d (~a ~a) old: ~a" ,temp1 ',slotname ,loc-self ,oldvarg))
                    (format t "~&output ~d (~a ~a) new: ~a" ,temp1 ',slotname ,loc-self ,new-varg))))
           `(defmethod slot-value-observe
-               #-(or clisp cormanlisp) ,(if aroundp :around 'progn)
+               #-(or cormanlisp) ,(if aroundp :around 'progn)
              ((slotname (eql ',slotname)) ,self-arg ,new-varg ,oldvarg ,oldvargboundp)
              (declare (ignorable
                        ,@(flet ((arg-name (arg-spec)
@@ -138,9 +138,7 @@
                                     (atom arg-spec))))
                            (list (arg-name self-arg)(arg-name new-varg)
                              (arg-name oldvarg)(arg-name oldvargboundp)))))
-             , at output-body
-             ;;broke cells-gtk #+(or clisp cormanlisp) (call-next-method)
-             )))))
+             , at output-body)))))
 
 (defmacro bump-output-count (slotname) ;; pure test func
   `(if (get ',slotname :outputs)




More information about the Cells-cvs mailing list