A question on macro syntax choice (general CL style qn)

"Tim Bradshaw (as tfb at tfeb dot org)" <[email protected]> Wed, 8 Apr 2026 12:43:54 +0100
Newsgroups gmane.lisp.lispworks.general
Message-ID <[email protected]>
I have a macro called with-array-slots.

Currently it looks like

(with-array-slots ((object class ...) slot-spec ...)
  ...)

it has a multiple-object version which then looks like

(with-array-slots* (((object class ...) slot-spec ...) ((object class ...) ...) ...)
  ...)

would it be better is the single-object version looked more like (say) with-slots:

(with-array-slots (slot-spec ...) (object class ...)
  ...)

It seems to me it might be, but then the multiple-object one looks very different (even if I change the ordering).

You could argue that the multiple-object version serves no purpose.   It does serve some, because it can minimise the number of checks for incompatible class redefinition.  But perhaps the answer is to do away with it and make the single-object one look more like with-slots?

--tim

_______________________________________________
Lisp Hug - the mailing list for LispWorks users
[email protected]
http://www.lispworks.com/support/lisp-hug.html