Hello all.

Can someone help me understand the following. I'm not sure if it is a bug or my misunderstanding. How can a variable be undefined and also have a value?


conrad@black ~/down $ sbcl
This is SBCL 1.0.28.16, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
* (export 'foo)

T
* (describe 'foo)

FOO is an external symbol in #<PACKAGE "COMMON-LISP-USER">.
* (setf (symbol-value 'foo) 1)

1
* (describe 'foo)

FOO is an external symbol in #<PACKAGE "COMMON-LISP-USER">.
It is a undefined variable; its value is 1.
*