Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!ukc!edcastle!aiai!jeff From: jeff@aiai.ed.ac.uk (Jeff Dalton) Newsgroups: comp.lang.lisp Subject: Re: FUNCALL question Message-ID: <1678@skye.ed.ac.uk> Date: 5 Feb 90 16:54:20 GMT References: <6904@ilog.UUCP> Reply-To: jeff@aiai.UUCP (Jeff Dalton) Organization: AIAI, University of Edinburgh, Scotland Lines: 21 In article <6904@ilog.UUCP> davis@ilog.UUCP (Harley Davis) writes: >The following code is erroneous unless x has been proclaimed special: > >(flet ((x (x) (+ x x))) > (let ((x 1)) > (list (symbol-function x) (symbol-value x)))) > >[ref. CLtL edition 1 p. 90] Um, isn't it erroneous even if X _has_ been proclaimed special? For instance, in (list (symbol-function x) (symbol-value x)))) both SYMBOL-FUNCTION and SYMBOL-VALUE will complain because they're being called on the number 1. That will happen even if X is special. We might try quoting X, but SYMBOL-FUNCTION will still complain, because special declarations don't affect function bindings. -- Jeff