From ... From: Erik Naggum Subject: Re: setf not binding variable in code Date: 1999/03/30 Message-ID: <3131781604973288@naggum.no>#1/1 X-Deja-AN: 460714776 References: <28ZK2.19199$A6.10189948@news1.teleport.com> <7djn9l$ngt$1@nnrp1.dejanews.com> <87r9q9npc3.fsf@orion.dent.isdn.cs.tu-berlin.de> <7dq9o2$5vf$1@nnrp1.dejanews.com> mail-copies-to: never Organization: Naggum Software; +47 8800 8879; http://www.naggum.no Newsgroups: comp.lang.lisp * Vassil Nikolov | but SET is deprecated. I'm curious how people react to this "deprecated" thing. the other day, I saw some code that did LOAD at the top of a file because the author was scared of REQUIRE and PROVIDE, although he was in fact producing modules. the reason was no better than that they were "deprecated". I don't think it's a good idea to avoid things just because they are deprecated when no better solution exists. e.g., if the accessor is (symbol-value symbol), then clearly setf of same is the best solution. if, however, the accessor is EVAL, I think SET is a better solution because the fact that we access a symbol's value slot is incidental to that usage. other deprecated features have similar rationales, but not all. e.g., I can fully accept the deprecation of the :TEST-NOT argument to predicates, but not because I believe in COMPLEMENT (which I don't), but because it has clear and present problems when combined with :TEST. the same problem does not exist with the -IF-NOT functions, which I have posted about previously. BTW, I think REQUIRE and PROVIDE _can_ be removed from the standard only after a DEFSYSTEM has been included. #:Erik