Thomas F. Burdick wrote:
Kenny Tilton writes:
Thomas F. Burdick wrote:
Okay, how are these for a start?
(defmacro cv (&optional (value +unbound+)) `(cells::make-c-variable :value ,value))
(defmacro c-formula ((&rest keys &key lazy cyclic-p cyclic-value) &body forms) (declare (ignore lazy cyclic-p cyclic-value)) `(cells::make-c-dependent :code ',forms :rule (c-lambda ,@forms) ,@keys))
(defmacro c-variable ((&rest keys &key cyclic-p) &optional (value nil valuep)) (declare (ignore cyclic-p)) `(cells::make-c-variable :value ,(if valuep value '+unbound+) ,@keys))
looks ok. but...
Is there a definition for +unbound+ missing?
Maybe if I stare at it long enough it will come to me, but why not do
on c-variable what is proposed for cv, viz.,:
&optional (value '+unbound+)
Hmm, maybe I should have edited these on their way out of my utils file. +unbound+ is from (defconstant +unbound+ '+unbound+), from my unbound-cells hack from before. As for (2), yeah, that would be simpler.
if you want to send me something with these two amendments I will manually merge with the Cells I have here, currently a subdirectory of Cello, and then future Cello/Cells releases will have that. I guess I am still leaning towards that structure, in which Cells can be accessed indepenendently but from within the larger Cello context. In fact, maybe there is a pattern here: every big huge library can choose one and only one big huge parent library which depends crucially on it, and likely will have only one plausible candidate parent. Wouldn't that be an interesting law of software architecture, if in fact the latter proved true? eg, cl-typesetting being a natural container for cl-pdf, and cello being a natural for cells.
kt