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

Proposal #9: Variable Name Conflicts



    Date: Sun, 27 Jul 1986  22:02 EDT
    From: "Scott E. Fahlman" <Fahlman@C.CS.CMU.EDU>

    Proposal #9A:

    It is an error for two parameters (including supplied-p and &aux
    parameters) in the same lambda list to be represented by the same (EQ)
    symbol.  This also holds for parameters bound by LET, LET*, DO, DO*,
    FLET, LABELS, PROGV, MACROLET, MV-BIND, and PROG.

There is no such thing as MV-BIND; I expect you meant MULTIPLE-VALUE-BIND.
You forgot PROG*.  You omitted COMPILER-LET and PROGV, but I can't guess
whether this was accidental or intentional.

    ---------------------------------------------------------------------------
    Proposal #9B:

    Same, but don't include LET*.
    ---------------------------------------------------------------------------

Although I favor 9A, I have to point out that Fahlman has used his power
as moderator to make proposal 9B look bad.  Surely the real 9B would
treat all of the sequential binding forms in a consistent way.

This appears to be one of those situations where the answer is obviously
correct, but the obviously correct answer is different for different
individuals.  The only comment I can add is that no matter which
proposal is adopted, it is very easy for the proponents of the other
proposal to define a LET+ macro which is LET* done the way they wanted,
and similarly for the other sequential binding forms.