Update of /project/cells/cvsroot/cells In directory clnet:/tmp/cvs-serv31873
Modified Files: cells-manifesto.txt fm-utilities.lisp propagate.lisp Log Message:
--- /project/cells/cvsroot/cells/cells-manifesto.txt 2006/10/02 02:38:31 1.9 +++ /project/cells/cvsroot/cells/cells-manifesto.txt 2006/10/11 22:16:20 1.10 @@ -267,8 +267,8 @@ -- kid-slotting: used almost exclusively so far for orderly GUI layout, a parent must be able to specify rules for specific slots of kids. Example: a "stack" class wants to provide rules for child geometry specifying left, right, or centered alignment and vertical stacking (with optional spacing) one below -the other. The idea is that we want to other child instances without worrying about how they will -be arranged in some container. +the other. The idea is that we want to author classes of what might be GUI subcomponents without worrying +about how they will be arranged in some container.
-- finalization: when an instance appears in the "old kids" but not in the "new kids", a Cells engine may need to arrange for all Cells to "unsubscribe" from their dependents. Cells takes care of that if @@ -367,11 +367,11 @@ deferred until all computed cells are up-to-date with the current state of the universe."
-_______________ -Uncommentary :) +_____________ +Uncommentary
-- Peter Seibel, comp.lang.lisp: -"I couldn't find anything that explained what it was and why I should care." +"I couldn't find anything that explained what [Cells] was and why I should care."
-- Alan Crowe, comp.lang.lisp: "Further confession: I'm bluffing. I've grasped that Cells is --- /project/cells/cvsroot/cells/fm-utilities.lisp 2006/10/02 02:38:31 1.10 +++ /project/cells/cvsroot/cells/fm-utilities.lisp 2006/10/11 22:16:22 1.11 @@ -44,6 +44,11 @@ (defmacro upper (self &optional (type t)) `(container-typed ,self ',type))
+(export! u^) + +(defmacro u^ (type) + `(upper self ,type)) + (defmethod container (self) (fm-parent self))
(defmethod container-typed ((self model-object) type) --- /project/cells/cvsroot/cells/propagate.lisp 2006/10/02 02:38:31 1.22 +++ /project/cells/cvsroot/cells/propagate.lisp 2006/10/11 22:16:22 1.23 @@ -101,7 +101,7 @@ (md-slot-owning (type-of (c-model c)) (c-slot-name c))) (flet ((listify (x) (if (listp x) x (list x)))) (bwhen (lost (set-difference (listify prior-value) (listify (c-value c)))) - (trc "prop nailing owned" c (c-value c) prior-value lost) + (trc nil "prop nailing owned" c (c-value c) prior-value lost) (mapcar 'not-to-be lost)))) ; ; with propagation done, ephemerals can be reset. we also do this in c-awaken, so