From ... Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.tele.dk!small.news.tele.dk!129.240.148.23!uio.no!nntp.uio.no!ifi.uio.no!not-for-mail From: Erik Naggum Newsgroups: comp.lang.lisp Subject: Re: Using backquote Date: 03 Oct 2002 10:41:31 +0000 Organization: Naggum Software, Oslo, Norway Lines: 25 Message-ID: <3242630491889838@naggum.no> References: <87zntxt10v.fsf@gruk.tech.ensign.ftech.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: maud.ifi.uio.no 1033641692 5141 129.240.65.5 (3 Oct 2002 10:41:32 GMT) X-Complaints-To: abuse@ifi.uio.no NNTP-Posting-Date: 3 Oct 2002 10:41:32 GMT Mail-Copies-To: never User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Xref: archiver1.google.com comp.lang.lisp:42820 * Kaz Kylheku | It's not an unheard of practice to capture keyword parameter lists | using &rest and then to filter them. It is still bad practice. You should treat a &rest list as read-only. | (defun fun (&rest key-list &key a b c &allow-other-keys) | ;; oops, no copy-list done! That would be a serious bug. | So if you put the two together, you can see why Ingvar might have | concerns. The traditional Lisp thinking about the ownership protocol is that you have to be explicit about modifying the structure of your arguments. Unless you have explicitly made that part of the function definition, a caller is allowed to assume that the arguments were not modified, which means that you /never/ break that assumption. -- Erik Naggum, Oslo, Norway Act from reason, and failure makes you rethink and study harder. Act from faith, and failure makes you blame someone and push harder.