Subject: Re: image vs source From: Erik Naggum <firstname.lastname@example.org> Date: 09 Dec 2002 10:42:52 +0000 Newsgroups: comp.lang.lisp Message-ID: <email@example.com> * Peter Seibel | To answer your question literally: because nothing I know about how | my Lisp implementation and/or ilisp work, nor anything I've read in | the CLHS would suggest that evaluating the definition of a function | 'foo' would cause an existiting definition of a function 'fooo' | (note the different spelling) to go away even though the two | functions are related insofar as the new function 'foo' was created | by very slightly modifying the text in a file that used to be the | definition of 'fooo'. Am I missing something, either in my | understanding of Lisp or in the intent of your question? You missed the point of the question: Why do you believe that editing source to effectively remove a function would magically transfer to the environment when you re-load the file? There is some core belief here that probably stem from other languages, but which does not hold for Common Lisp. E.g., if you are perhaps used to dynamic loading of class files which replace themselves with the new version, that could explain why you think the old definitions "vanish". | I looked at DELETE-PACKAGE but [...] When nothing references the symbols, they vanish. The purpose of deleting the whole package is to yank the ground out from under the symbols. Only with some difficulty can you reference symbols in a deleted package. It would therefore be hard for anything to /call/ the functions that referenced the old values. If you have old code running, you will want to stop it, obviously. There are a number of tacit assumptions under what you write that I try hard not to assume I know, so if you want to discuss the issues that really bother you, you have to make them clear. -- 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.