emacs-devel
[Top][All Lists]
Advanced

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

Re: Elisp terminology


From: David Kastrup
Subject: Re: Elisp terminology
Date: Sun, 25 Jan 2015 10:49:26 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

Kelly Dean <address@hidden> writes:

> Stephen J. Turnbull wrote:
>>> will need to understand or modify, so using a technical
>>> abbreviation isn't a problem. Emacs already has abbreviated names
>>> such as ⌜fboundp⌝ and ⌜fmakunbound⌝ for programmer-only things,
>>> instead of ⌜function-bound-predicate⌝ and ⌜function-make-unbound⌝.
>>
>> And the recent trend is to deprecate such ancient usage, including the
>> venerable `car', `cdr', and `cons'.
>
> Look what happened when I proposed changing the names of set-default,
> setq-default, and default-value. They're misleading,

No, they aren't, but you are not willing to hear any explanation in
conflict with your preconceptions.

> but you and Eli say they're too old to change. IOW, bugs with
> seniority are features.
>
> The names of car and cdr are even older. And they're not misleading;
> they're just archaic.

I have my problems seeing how "Contents of address register" and
"Contents of decrement register" are accurate concerning the current
implementations.  In their _archaic_ sense, those terms are not
accurate.  It's just that they have grown into terms of their own.

> There's both less need and less ability to change them than there is
> to change the former three.

In contrast to car/cdr however, the _default_ value is still an accurate
description.

> And yes, the abbreviations ⌜cons⌝, ⌜fboundp⌝, and ⌜fmakunbound⌝ are
> old, but they're neither misleading nor archaic.

fboundp is sort of an archaic feature of the language.  Lisp symbols
have 4 slots by default: value, function value, property list, name.

In Scheme, symbols don't have any slot.  They are semantically the same
as keywords, just being an internment of their name.  That makes it
possible to implement a module system establishing the relation between
symbols and values in the _global_ lexical space.

> I'm a good benchmark, since I'm easily fooled by misleading names and
> I have bad memory, yet these names don't cause me problems.

The problem is that you consider yourself the only benchmark, not just
for the naming but also for the meaning and implementation of terms.
That's not unusual for programmers, which is why there are regularly
scheduled shouting events under the title of "standards committee".

With regard to Emacs Lisp, we don't have such official events.

-- 
David Kastrup



reply via email to

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