Path: utzoo!utgpu!watmath!clyde!ima!think!barmar From: barmar@think.COM (Barry Margolin) Newsgroups: comp.lang.lisp Subject: Re: LET vs. &aux Message-ID: <33649@think.UUCP> Date: 19 Dec 88 20:56:43 GMT References: <4400007@uicslsv> <5727@polya.Stanford.EDU> Sender: news@think.UUCP Reply-To: barmar@kulla.think.com.UUCP (Barry Margolin) Organization: Thinking Machines Corporation, Cambridge MA, USA Lines: 22 In article <5727@polya.Stanford.EDU> caron@polya.Stanford.EDU (Ilan G. Caron) writes: >The question is: why does &AUX even exist? &AUX was presumably invented because Lisp programmers often found that the first thing they did in a function was to bind a bunch of local variables. Putting these variable bindings into the lambda-list saves an indentation level. I sometimes use &AUX when I am modifying a function. If I need to invent a new variable for communication between one section and another, I will often put it into the &AUX list rather than wrapping a random portion of the function in a new LET, and then use a SETQ. I realize that it isn't really good style, but if the function is complex it is often the safest way to modify it, rather than trying to reorganize it more cleanly. Barry Margolin Thinking Machines Corp. barmar@think.com {uunet,harvard}!think!barmar