Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!pacific.mps.ohio-state.edu!linac!att!princeton!phoenix.princeton.edu!weinrich From: weinrich@clarity.Princeton.EDU (Tim Weinrich) Newsgroups: comp.lang.lisp Subject: Re: Destructive Operations Message-ID: Date: 26 Apr 91 19:46:35 GMT References: <1351@ai.cs.utexas.edu> Sender: news@idunno.Princeton.EDU Organization: Cognitive Science Lab. Princeton University. Lines: 18 In-reply-to: gideon@cs.utexas.edu's message of 25 Apr 91 03:09:06 GMT One point I dont think anyone mentioned is that it is possible to create self-modifying code in Lisp through perfectly innocent use of destructive functions, as in: (setq a '(some bogus list)) . . . (rplaca a 'another) Interestingly, this example is still self-modifying even if you use a back-quote instead of a quote (at least in the implementations I have used). The back-quoter is "intelligent" enough to act like a QUOTE (rather than a LIST) if there is nothing in the list to be evaluated. Twinerik