[cells-devel] New Cells User Feedback (includes patch!)

James Bielman jamesjb at jamesjb.com
Fri Apr 22 20:52:21 UTC 2005


Hi,

Here's a patch containing the changes I made to get Cells to compile
on a current OpenMCL (just Cells, none of the GUI stuff).  Also, the
files in the UTILS-KT defsystem had no dependencies, so I added
:serial t to compile them in the order they appear.

I added a paragraph to the documentation about calling CELL-RESET
after errors occur and accessors just print ".".  This drove me crazy
for awhile---I was restarting my Lisp image once I got in this state
because I couldn't figure out what to do!

What about doing something like this in MD-SLOT-VALUE (untested, and
assuming I haven't completely misunderstood what's going on):

(defun md-slot-value (...)
  (tagbody
   retry
     (when *stop*
       (restart-case
           (error "Cells is stopped due to a prior error.")
         (continue ()
           :report "Return a slot value of nil."
           (return-from md-slot-value nil))
         (reset-cells ()
           :report "Reset cells and retry getting the slot value."
           (cell-reset)
           (go retry))))
     ; rest of MD-SLOT-VALUE here
     ...))

Also, let me second the need for an ASDF-INSTALL'able recent version
of Cells without checking out all the GUI stuff---I couldn't get the
version that's up there now to work.

With respect to documentation, I was thinking of adding documentation
strings for exported symbols as I learn what they do---watch this
space for future patches!

James


Index: cells/doc/01-Cell-basics.lisp
===================================================================
RCS file: /project/cells/cvsroot/cell-cultures/cells/doc/01-Cell-basics.lisp,v
retrieving revision 1.1
diff -u -r1.1 01-Cell-basics.lisp
--- cells/doc/01-Cell-basics.lisp	26 Jun 2004 18:38:38 -0000	1.1
+++ cells/doc/01-Cell-basics.lisp	22 Apr 2005 19:34:13 -0000
@@ -319,6 +319,10 @@
 c-setting-debug > ruled  distance in stone may not be setf'ed
 0> error is #<simple-error @ #x2123e392>
 
+when errors like this occur, cells may enter a "stopped" state,
+in which propagation does not occur and accessing model slot values
+will print ".".  to restart cells use the CELL-RESET function.
+
 ;-----------------------------------------------------------
 aside from c?, cv, and def-c-output, another thing you will see
 in cello code is how complex views are constructed using
Index: utils-kt/defpackage.lisp
===================================================================
RCS file: /project/cells/cvsroot/cell-cultures/utils-kt/defpackage.lisp,v
retrieving revision 1.7
diff -u -r1.7 defpackage.lisp
--- utils-kt/defpackage.lisp	17 Nov 2004 12:32:01 -0000	1.7
+++ utils-kt/defpackage.lisp	22 Apr 2005 19:34:14 -0000
@@ -25,7 +25,7 @@
 (defpackage :utils-kt
   (:nicknames #:ukt)
   (:use #:common-lisp
-    #-(or cormanlisp cmu sbcl) #:clos
+    #-(or cormanlisp cmu sbcl mcl) #:clos
     #+sbcl #:sb-mop
     #+mcl #:ccl)
   (:export #:utils-kt-reset
Index: utils-kt/detritus.lisp
===================================================================
RCS file: /project/cells/cvsroot/cell-cultures/utils-kt/detritus.lisp,v
retrieving revision 1.3
diff -u -r1.3 detritus.lisp
--- utils-kt/detritus.lisp	17 Nov 2004 12:32:01 -0000	1.3
+++ utils-kt/detritus.lisp	22 Apr 2005 19:34:14 -0000
@@ -36,15 +36,11 @@
 ;;;(defmethod class-slot-named (class slotname)
 ;;;  (find slotname (class-slots class) :key #'slot-definition-name))
 
-#+mcl
-(defun class-slots (c)
-  (nconc (copy-list (class-class-slots c))
-         (copy-list (class-instance-slots c))))
-
-
 #-(or lispworks mcl)
 (defun true (it) (declare (ignore it)) t)
+#-(or lispworks mcl)
 (defun false (it) (declare (ignore it)))
+
 (defun xor (c1 c2)
   (if c1 (not c2) c2))
 
Index: utils-kt/utils-kt.asd
===================================================================
RCS file: /project/cells/cvsroot/cell-cultures/utils-kt/utils-kt.asd,v
retrieving revision 1.2
diff -u -r1.2 utils-kt.asd
--- utils-kt/utils-kt.asd	5 Dec 2004 04:51:02 -0000	1.2
+++ utils-kt/utils-kt.asd	22 Apr 2005 19:34:14 -0000
@@ -16,6 +16,7 @@
   :licence "MIT Style"
   :description "Kenny's Utilities"
   :long-description "Low-level utilities used by all of Kenny's projects"
+  :serial t
   :components ((:file "defpackage")
                (:file "debug")
                (:file "detritus")




More information about the cells-devel mailing list