Subject: Re: &AUX---caveat emptor
From: Erik Naggum <erik@naggum.no>
Date: 1999/08/10
Newsgroups: comp.lang.lisp
Message-ID: <3143264449599564@naggum.no>

* Vassil Nikolov <vnikolov@poboxes.com>
| I think that even in the age of huge displays &AUX still prevents waste
| of `cognitive real estate,' by making code simpler, but one *must be
| careful*.

  I don't understand why one must be more careful about it than any other
  reference-assignment-reference sequence, as in silly stuff like this:

(let ((vars (list a b c)))
  (setq a 3)
  (apply #'+ vars))

  it appears to me that the lesson you have learned is much too specific:
  it isn't &AUX that you need to look out for, it's assignments to
  variables whose values have previously been used elsewhere not affected
  by the assignments and the "surprise" that those places retain the old
  values.  this is a broad category of errors, however, and looking out for
  &AUX may have the very undesirable effect that you think the problem is
  localized and contained when it isn't.

#:Erik
-- 
  (defun pringles (chips)
    (loop (pop chips)))