
On Mon, 13 Sep 2004 09:14:19 +0200, "Pascal J.Bourguignon" <pjb@informatimago.com> said:
Pascal> Peter Seibel writes:
- figure out how to distinguish between a defvar/defparameter and defcontstant symbol.
Pascal> This should be implementation dependant.
How about CONSTANTP?
Pascal> CONSTANTP does not do what you think! Pascal> [22]> (defvar x 1) Pascal> X Pascal> [23]> (defvar c 1) Pascal> C Pascal> [24]> (constantp c) Pascal> T Pascal> [25]> (constantp c) Pascal> T Pascal> [26]> (constantp 'x) Pascal> T Pascal> [27]> (constantp 'x) Pascal> NIL Pascal> [28]> (constantp 'c) Pascal> NIL Pascal> [29]> (constantp #(1 2 3)) Pascal> T Pascal> [30]> (constantp '(1 2 3)) Pascal> NIL Pascal> [31]> (constantp (list 1 2 3)) Pascal> NIL Pascal> CONSTANTP could be useful when writting a macro or a compiler macro, Pascal> but that's about all. Is the above really the output from a running Common Lisp, with CONSTANTP returning both T and NIL for the symbol X? Was C supposed to be DEFCONTSTANT? Maybe you didn't type what you think :-) __Martin