[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
DYNAMIC/LEXICAL, *LEXPR, "Special Operator" vs "Special Form"
- To: Kent M Pitman <KMP@SCRC-STONY-BROOK.ARPA>
- Subject: DYNAMIC/LEXICAL, *LEXPR, "Special Operator" vs "Special Form"
- From: "Scott E. Fahlman" <Fahlman@CMU-CS-C.ARPA>
- Date: Sat, 18 May 1985 21:05:00 -0000
- Cc: common-lisp@SU-AI.ARPA
- In-reply-to: Msg of 18 May 1985 14:11-EDT from Kent M Pitman <KMP at SCRC-STONY-BROOK.ARPA>
- Sender: FAHLMAN@CMU-CS-C.ARPA
By the way, apropos of Masinter's comments above, and given that it's useful
to declare something like takes-variable-number-of-args in advance to thwart
forward-referencing problems, it might also want to be possible to declare
that some form, WITH-RANDOM-BINDINGS, is a special form so that
forward-references (which will tend to be fatal errors) to it can be
diagnosed immediately rather than having to wait for the definition to roll
by. I assume this is what he was alluding to about it might have been
more appopriate for syntax declarations, as in
(PROCLAIM '(SPECIAL WITH-RANDOM-BINDINGS)).
I guess it's a little late to try to make such a change in CL84, much less
CL86. Maybe CL88...
I don't understand this at all. Are you asking for a way for users to
declare that some user-defined form is a special form? There aren't
supposed to be any user-defined special forms.
-- "Special Operator" vs "Special Form" --
Also, I'd like to replace the term "special form" with "special operator"
when it doesn't apply to the whole form. ie, COND is not a special form,
it is a special operator (properly, it's the name of a special operator
but that's not so critical to me at this point).
Well, I've already used up my quota of ridicule for the month, so I'll
just say that this looks to me like nit-picking and I would oppose any
change to the name of a function in order to remove the alleged
inconsistency in the nomenclature. Name changes are always more hassle
than they should be, so they should only be done when the old name was
actually confusing people.