(defmacro defvars (names values)
`(progn
,@(loop for name in names for value in values
collect `(defvar ,name ,value))
NIL))
that's supposed to allow me to do something like this:
(defvars (*a* *b*) ((sin 1) (complex 3 4)))
Does that look ok or can it be improved?
Thanks.
Rock
If it does what you want, than I guess it is OK. I would make it
parse pairs though, eg
(defvars *a* (sin 1)
*b* (complex 3 4))
because if you have many arguments, it might be difficult to follow
what goes where with the original syntax (at least for me). Cf the
syntax of setf.
Tamas
Yes, that's an interesting possibility. Thank you.
Where are you going to put the documentation strings?
You'd need something like this to cover all the cases:
(defvars (*x*) ; No initial value.
(*a* (sin 1)) ; A value, but no doc string.
(*b* (complex 3 4))) "A point on the plane." ; Both.
And given that, I really don't see any advantage over the default:
(defvar *x*) ; No initial value.
(defvar *a* (sin 1)) ; A value, but no doc string.
(defvar *b* (complex 3 4)) "A point on the plane." ; Both.
-Rob
-----
Rob Warnock <rp...@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607