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