Subject: Re: image vs source
From: Erik Naggum <erik@naggum.no>
Date: 09 Dec 2002 10:42:52 +0000
Newsgroups: comp.lang.lisp
Message-ID: <3248419372620713@naggum.no>

* 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.