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

free variable references in interpreter.



    But what justifies your too disparaging tone "at least they provide a
    switch...?"  Give us some credit here where credit is due, it is
    rather that "OF COURSE THEY PROVIDE A SWITCH!!" This is a minor
    stylistic difference we have here, not something to get yourself
    worked up about, bordering on insult.

I wasn't trying to insult anybody.  (When I am trying to insult someone,
I generally do a better job of it than this.)  I just didn't want people
seeing this exchange to assume that the behavior you and MLY described
was legal Common Lisp, and that it really is an error to reference an
undeclared special.  Your post gave that impression, and MLY compounded
the problem by saying that the switch in question was only to be used
for backwards compatibility.  So my statement was that the default
behavior you described was not, strictly speaking, legal Common Lisp.  I
also said that "at least" your system provided a switch in it that would
turn on the legal behavior, though MLY had just said that anyone using
that switch should be shot.  The "at least" meant "at least the
switch is there, though some believe that it shouldn't be used."

I happen to agree that it is lousy style to reference undeclared
specials, and I think it is a useful feature in a Common Lisp
implementation to have a mode available where such things get flagged.
I personally would not make this the default, but that is a minor issue.

The more important question is to what extent we should encourage small
improvements that happen to violate the Common Lisp standard, such as it
is.  I have no quarrel with any manufacturer who wants to stand up and
say clearly in their documentation that "we have chosen to deviate from
the Common Lisp standard in the following N ways because we feel that
these changes are improvements".  Maybe LMI has done this; I haven't
seen their documentation.  But if such small deviations, however
well-meaning, are made without proper acknowledgement, they constitute a
real threat to the standardization of the language.  That's why I try to
flag these things when I see them.

-- Scott