Subject: Re: A modest proposal (long)
From: Erik Naggum <>
Date: 2000/03/03
Newsgroups: comp.lang.lisp
Message-ID: <>

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