Subject: Re: An idea for making define-macro more convenient to use
From: (Rob Warnock)
Date: Sun, 27 Feb 2005 05:05:25 -0600
Newsgroups: comp.lang.lisp
Message-ID: <>
Kent M Pitman  <> 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 Warnock			<>
627 26th Avenue			<URL:>
San Mateo, CA 94403		(650)572-2607