Harald Hanche-Olsen <hanche@math.ntnu.no> wrote:
+---------------
| + rpw3@rpw3.org (Rob Warnock):
| | Here's what one implementation [mine] of DEFLEX generates:
| | > (macroexpand '(deflex foo 13))
| | (PROGN
| | (DEFPARAMETER *STORAGE-FOR-DEFLEX-VAR-FOO* 13)
| | (DEFINE-SYMBOL-MACRO FOO *STORAGE-FOR-DEFLEX-VAR-FOO*))
|
| Why the extra special? What is wrong with the following?
| (define-symbol-macro foo (symbol-value 'foo))
+---------------
That works fine in CMUCL, but for some reason it blew up in CLISP
[at least, back in version 2.29, which was what I had when I was
writing DEFLEX]:
[1]> (define-symbol-macro foo (symbol-value 'foo))
FOO
[2]> (setf foo 17) ; or SETQ, doesn't matter
*** - Lisp stack overflow. RESET
[3]>
-Rob
-----
Rob Warnock <rpw3@rpw3.org>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607