[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]

I did in fact propose that :keywords be used in lambda lists years ago
and at that time there was a good argument against it: such variables
could be bound and so it wasn't fair to special case them. Only with
the decision last August of making :keywords self-evaluate has this
been a possible course of action.

George Carrette mentioned to me today that the NIL interpreter has to go
checking the pnames of symbols to see if they start with "&" every time
you bind a symbol. That seems pretty gross. Checking the package cell
for EQness would be slightly faster or at least more elegant.

In fact, the argument about :OTHERWISE-ERROR and COND was slightly false
in that it's not inconsistent to allow keywords in COND now that you can
know what they will EVAL to. eg,
would be specially recognized syntaxes. You'd case on the surface syntax,
not on what FOO evaluates to, so if FOO evaluted to :OTHERWISE or
:OTHERWISE-ERROR, that'd just mean true. It's a plausible model of the
world. It would be more regular and would unify a lot of concepts that
Common Lisp has been drifting toward.

But I've had my say and didn't really want to slow down anyone's work.
As I said, I was just thinking aloud. I'll consider the issue closed
for now unless someone else re-opens it...