From ... From: Erik Naggum Subject: Re: A modest proposal (long) Date: 2000/03/03 Message-ID: <3161053303848931@naggum.no>#1/1 X-Deja-AN: 592570421 References: <3160942638240195@naggum.no> <3160966858202840@naggum.no> mail-copies-to: never Content-Type: text/plain; charset=us-ascii X-Complaints-To: newsmaster@eunet.no X-Trace: oslo-nntp.eunet.no 952069263 5439 195.0.192.66 (3 Mar 2000 07:41:03 GMT) Organization: Naggum Software; vox: +47 8800 8879; fax: +47 8800 8601; http://www.naggum.no User-Agent: Gnus/5.0803 (Gnus v5.8.3) Emacs/20.5 Mime-Version: 1.0 NNTP-Posting-Date: 3 Mar 2000 07:41:03 GMT Newsgroups: comp.lang.lisp * "Frank A. Adrian" | In, other words, the inverse operation for defvar IS unintern. unintern nukes the property list, the home package, and the functional value of the symbol, as well as the identity of the symbol should there be any hold-over pointers to it after re-interning. defvar affects none of these. defvar also does not intern the symbol to begin with. ergo, unintern is in no way the inverse of defvar. case dismissesd. makunbound causes a subsequent defvar to initialize the value of the variable, so clearly there is an inverse relationship right there. since there is no need or desire to nuke the _symbol_ (especially not with all its other properties), we only need an inverse operation for the special property of the symbol. I have provided that as code for Allegro CL, as a stepping stone to a supported language mechanism. #:Erik