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

LOOP and white pages.



    Date: 30 Aug 1982 0914-PDT
    From: Rod Brooks <ROD at SU-AI>
    ...here are some reasons that I am against it.

    In this example MULTIPLE-VALUE says where the variable names and the things
    that they will be bound to are (syntactically), but the scope of those
    bindings is determined by a context outside of the form with MULTIPLE-VALUE
    as its CAR....

As Alan pointed out, this is completely confused.  It has nothing to do
with LOOP.  The LOOP doesn't bind any variables or define any scopes in
this example; it could be replaced by a DO () (()) and the same things
would happen.

    While JLK is right that it is possible to write horrible code with DO, I don't
    agree that we have to jump in *now* with another mechanism, especially when that
    mechanism introduces radically new (and I believe bad) scoping rules. Lets leave
    LOOP in the yellow pages for now.

JLK's point is not taht it is possible to write horrible code with DO.
JLK's point is that it is NOT possible to write CLEAN code with DO in
many simple and common cases.

LOOP does not introduce any radical new scoping rules.  Please be more
careful before spreading stories like this around; the situation is
confused enough as it is.  Variables bound in a LOOP body are bound for
the duration of the body just as in DO and PROG and LET.