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

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

Re: How to quote a list of functions?


From: John Mastro
Subject: Re: How to quote a list of functions?
Date: Thu, 13 Aug 2015 17:38:19 -0700

>> The notion of type should still exist in the mind of
>> the programmer, if not in the compiler!
>>
>> The first parameter of put is of type symbol
>> (function x) returns an object of type function.
>> While it's true that in emacs lisp, symbol is
>> a subtype of function, the reverse is not true.
>> Some functions are not symbols. Therefore, the
>> Lyskoff Substitution Principle tells us that
>>
>>    (put #'upcase-region 'disabled nil)
>>
>> is a gross error. It should be:
>>
>>    (put 'upcase-region 'disabled nil)
>
> I'm not going to use this at all. I don't see the
> benefit of it because if I misspell a function, I will
> realize that immediately as the keystroke or otherwise
> invocation won't work. Besides I don't want to stop
> and think if I should but the sharp sign there or not.
> I never did and it always worked. Part of the
> pleasure with Lisp is not thinking like a computer,
> but like a man, and this poor man's typing is a step
> away from that while not offering any benefits what
> I can see. The OP presented it as something you should
> definitely do but the subsequent discussion hasn't
> showed that by far, and even he himself couldn't say
> why you should bother.

It's true that in Emacs Lisp, unlike in e.g. Common Lisp, there's no
runtime difference between 'foo and #'foo. However, the inspiration to
"stop and think" is arguably part of the benefit at the beginning,
because it helps you sharpen your intuitive sense of "symbol-as-symbol"
vs "symbol-as-function".

Regarding Lispiness, in Common Lisp sharp-quote really does do that
which we sort of pretend it does in Emacs Lisp, so I think it's hard to
see how observing the distinction in Emacs Lisp could be un-Lispy. (Not
that Lispiness in itself is an argument for anything - just an
observation.)

Anyway, it's clearly a trivial issue, especially in the context of "Lisp
as Turing-complete configuration language". To each their own!

-- 
john



reply via email to

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