From: Kaz Kylheku on
Brian Downing wrote:
> In article <umzhaovxo.fsf(a)users.sourceforge.net>,
> Joerg Hoehle <hoehle(a)users.sourceforge.net> wrote:
> > So I disagree, but then I've used CL since CLtL1 times, and other
> > dialects in the Lisp family. I'll continue to use SETQ.
>
> Which is fine - choice is good. More power to you. :)

You mean, more syntax to you. :)

From: Joerg Hoehle on
"Kaz Kylheku" <kkylheku(a)gmail.com> writes:
> Joerg Hoehle wrote:
> No [...] What is required is a true
> primitive which assigns only to variables. SETQ cannot be that
> primitive, because SETQ itself has to expand to that primitive---in
> some cases!

SETQ was this primitive until symbol macros were invented and retrofitted.
Actually, IMHO, the true primitive would take a single name and value.
No (SETQ), nor (SETQ { name1 value1 } {name2 value2}+)
I often miss that one when writing code transformers: these must
take into consideration every pattern and becmoe clumsy.

To me, SETF and SETQ are not the same. One is a macro and can be
expanded by code walkers. The other is a special form: MACROEXPAND
does not apply, you're on your own. Agreed, this does not matter to
newbies.

> > By the same argumentation, COND (or IF) is utterly obsolete, WHEN or
> > UNLESS should never have been invented. All obsolete. BS!
> But SETF does in fact do everything that SETQ does exactly with the
> same argument syntax.

(WHEN foo bar) == (IF foo bar), so WHEN or IF is still obsolete?
Exact same syntax in base cases. But ok, I won't continue this
discussion. You don't need to tell me that
(WHEN foo bar grr) <> (IF foo bar grr)
;-)

Regards,
Jorg Hohle
Telekom/T-Systems Technology Center