help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Calling a function with undefined symbol


From: Michael Heerdegen
Subject: Re: Calling a function with undefined symbol
Date: Fri, 04 Nov 2022 15:33:21 +0100
User-agent: Gnus/5.13 (Gnus v5.13)

Emanuel Berg <incal@dataswamp.org> writes:

> [...] because `quote' does not evaluate anything, not even
> itself [...]

I'm not so happy with this sentence, however.  Not sure what you
intended to say.

Because, note that quotes (or quoted values, to be more precise) are
_not_ self-quoting: evaluating a quoted value normally yields something
different (i.e., the value, but not the quoted value).

In that point `quote' is different from how `lambda' forms behave in
dynamically binding Elisp ("self quoting"):

  (setq x '(lambda () 1)) ;; x -> (lambda nil 1)
  (eval x nil)            ==> (lambda nil 1)
  (equal x (eval x nil))  ==> t

but OTOH

  (setq x ''nil)         ;; x -> 'nil
  (eval x nil)           ==> nil, not 'nil
  (equal x (eval x nil)) ==> nil

It is important to differentiate between forms and the results of
evaluation of forms the make clear what one is meaning.


Michael.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]