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

Re: Proposal #9: Variable Name Conflicts

Fahlman wrote:
    If I were to propose [something like let* can have repeated names],
    it would be to treat all of the sequential binding forms (including
    LAMBDA/DEFUN) in a consistent way.

Lambda and defun are not sequential binding forms; the order of
argument evaluation is irrelevant.  "Lambda and defun are sequential
binding forms because the arguments they are applied to are evaluated
sequentially" is the only interpretation of Fahlman's statement I
could think of.  I'm certain he had something else in mind; that's
much like Masinter's position which neither Fahlman nor I agree with.

I didn't think Fahlman's proposal 9B wording was unfair; some of his
"moderator's summary" wasn't as fair as it could have been.  There is
a reason for Proposal 9; it just doesn't apply to let* or do*.  (Under
Masinter's lambda model, all of 9 is wrong.)

Fahlman's concerns (about let* and do*) can be included as a warning
in the manual much like the *specials* *suggestion*.  That's a
compromise 9B that I could live with.

Declarations (at least non-specials) should be decided before Proposal
9.  I think pervasive declarations are a good idea and much more
important than 9A vs 9B.  If we settle on 9A, then that argues
(weakly) against pervasive declarations.  If we decide on pervasive
declarations, then 9A vs 9B goes on its merits.