[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
named-lambda, etc
The only advantages I see to REC over NAMED-LAMBDA are the ability to
say things like
(REC SELF
(VECTOR
(LAMBDA ()
(LET ((X (FOO)))
(VECTOR-SET! SELF 0 (LAMBDA () X))
X))))
I hope that we are not requiring implementations to support the above.
It gives the illusion that REC (LETREC) can do something (solving
simultaneous equations) which in fact it (they) cannot do (at least I do
not know how to make them do that, short of changing to normal order
evaluation). If we are not requiring this behavior, the argument is
moot.
and the mnemonically useful relationship between REC and LETREC.
(On a close vote we chose the names REC and LETREC over LABEL and
LABELS.)
REC sounds like WRECK and RECORD to me, not like LETREC. Note that
since LETREC expects a list as its second subform, it syntax could be
trivially extended to support the common case of just one name, and
REC would become unnecessary (also helping GJS's goal of reducing the
number of special forms).
Now really, I don't see why people object to NAMED-LAMBDA (which is
not essential) so violently. I don't love it, but I don't dislike it,
and it seems to me that people have just decided to pick on it for no
good reason, when REC is just as random and considerably less
intuitive.