emacs-devel
[Top][All Lists]
Advanced

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

Re: master 48ac40e60e: ; Fix last change.


From: Stefan Monnier
Subject: Re: master 48ac40e60e: ; Fix last change.
Date: Sun, 14 Aug 2022 14:42:28 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

Eli Zaretskii [2022-08-14 21:31:38] wrote:
>> From: Stefan Monnier <monnier@iro.umontreal.ca>
>> Cc: emacs-devel@gnu.org
>> Date: Sun, 14 Aug 2022 14:16:02 -0400
>> 
>> > +This returns non-nil if its argument is either a built-in, or a
>> > +byte-compiled, or a natively-compiled function object, or a function
>> > +loaded from a dynamic module.
>> 
>> Funny: I find this rather hard to understand compared to my
>> original wording.  E.g. a reader might wonder what other cases there
>> could be and why they don't return non-nil.
> Are there other cases?

Obviously, there are the cases of a process, a marker, a vector,
... (and even more obviously an interpreted function), but my point is
that if I imagine myself as a reader who's not knowledgeable about all
those kinds of functions, I have no idea whether those 4 different cases
cover "all the cases except an interpreted function".

>> IOW, I prefer an "intentional" description over the "extensional" one
>> you installed.
> The original wording was too vague.  Such a specific API cannot be
> documented in such vague terms.

It's not a very specific API.  It's a kind of "abstract super class", so
in my book it should be defined not by enumerating its current
subclasses but by giving a meaningful way to decide whether a given
class should be a subclass or not.


        Stefan




reply via email to

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