I find &AUX useful for setting global parameters, like:

(defun read-data (data-source &aux (*read-default-float-format*
'double-float)) ...)

I think it better expresses the change than in a LET* form or using WITH at
the top of a LOOP.

Tom
----------------------------------------------------------------
Thomas M. Hermann
Odonata Research LLC
http://www.odonata-research.com/
http://www.linkedin.com/in/thomasmhermann


On Sat, Jun 11, 2011 at 6:03 AM, Didier Verna <did...@lrde.epita.fr> wrote:

> Pascal Costanza wrote:
>
> > - The more important reason is that I sometimes want to derive some
> > value from an argument that is "very close" to the value of the
> > original argument. Here is an example:
>
>   I would go even farther than that. Sometimes, you want to slightly
> frob the original argument and not use it anymore afterwards. In such
> situations, you can even use the same variable name (one might consider
> this either very stylized or very ugly ;-).
>
>
> CL-USER> (defun foo (arg &aux (arg (1+ arg)))
>           arg)
> FOO
> CL-USER> (foo 1)
> 2
>
> --
> Resistance is futile. You will be jazzimilated.
>
> Scientific site:   http://www.lrde.epita.fr/~didier
> Music (Jazz) site: http://www.didierverna.com
>
> _______________________________________________
> pro mailing list
> pro@common-lisp.net
> http://lists.common-lisp.net/cgi-bin/mailman/listinfo/pro
>
_______________________________________________
pro mailing list
pro@common-lisp.net
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/pro

Reply via email to