[cells-devel] Re: [cello-devel] Constructor syntax
Kenny Tilton
ktilton at nyc.rr.com
Tue May 11 00:08:57 UTC 2004
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 , at forms)
> > > , at 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+) , at keys))
> >
> > looks ok. but...
> >
> > 1. Is there a definition for +unbound+ missing?
> >
> > 2. 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
--
Home? http://tilton-technology.com
Cells? http://www.common-lisp.net/project/cells/
Cello? http://www.common-lisp.net/project/cello/
Why Lisp? http://alu.cliki.net/RtL%20Highlight%20Film
Your Project Here! http://alu.cliki.net/Industry%20Application
More information about the cells-devel
mailing list