Kent M Pitman <pitman@nhplace.com> wrote:
+---------------
| Symbolics Lisp had ONCE-ONLY, which was cool but didn't trust the compiler
| to do the right thing on its own, so was unnecessarily complicated in
| design and implementation; LispWorks has both REBINDING and WITH-UNIQUE-NAMES
| (a variant of ONCE-ONLY), which work in a quite natural and general way
| to accomplish the kind of thing you want for CL.
+---------------
CMUCL has an EXT:ONCE-ONLY which may do the same thing. The docstring:
"Once-Only ({(Var Value-Expression)}*) Form*
Create a Let* which evaluates each Value-Expression, binding a temporary
variable to the result, and wrapping the Let* around the result of the
evaluation of Body. Within the body, each Var is bound to the corresponding
temporary variable."
-Rob
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607