[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: PSZ at MIT-ML
- Subject: suggested feature.
- From: Howard I. Cannon <HIC at MIT-MC>
- Date: Tue ,15 Jul 80 23:41:00 EDT
cc: GJC at MIT-MC, BUG-LISP at MIT-MC, BUG-LISPM at MIT-MC
I think that people perceive symbols when used as special variables
as having some "character" that they carry around with them (much
like declared identifiers in other languages). If you implement
atomic macros, then you have these symbols that have this character
of expanding into something else when mentioned.
Now, you might argue that even though that is true, symbols when QUOTED
don't retain any special meaning, and symbols in lambda lists and
setq's are implictly quoted. Therefore, they should not expand into atomic
macros (I am not proposing that explicitly QUOTEd symbols expand, though
there might be something pleasing about this). I do not agree with this.
Though it is true that symbols in those positions are not EVALUATED,
they are certainly looked at specially (for specialness, for example,
at least by the compiler). I therefore think that for consistancy they
should expand if they are atomic macros. This may of course produce
erroneous results in some circumstances (probably most!). So what.
Personnally, I don't like destructuring LET either, and I don't
use it (I call it something different if that is the functionality I want).
On the other hand, I don't see atomic macros as being the same thing at all
(of course, I believe treating each thing individually on the basis
of its meri makes sense). My proposal also makes SET' different from SETQ,
which is probably ok (though I supose there might be some sort of symmetry
argument against the atomic macro thing here).
But, I don't know why I bother explaing this, since you "hate
to see Lisp get cluttered up with bad ideas", you must have already decided
that atomic macros is a bad idea.