emacs-devel
[Top][All Lists]
Advanced

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

Re: feature/type-hierarchy 8a63e50036f 1/5: * Define 'cl--type-hierarchy


From: Andrea Corallo
Subject: Re: feature/type-hierarchy 8a63e50036f 1/5: * Define 'cl--type-hierarchy' and compute 'cl--typeof-types' from it
Date: Sun, 03 Mar 2024 13:37:57 -0500
User-agent: Gnus/5.13 (Gnus v5.13)

Stefan Monnier <monnier@iro.umontreal.ca> writes:

>>>> The original was inconsistent on this,
>>> Maybe that was an oversight.
>>> Do you remember which inconsistency you had noticed in this respect?
>> I remember (symbol-with-pos symbol atom) (symbol atom), there might have
>> been others.
>
> I think I see.  By "leaf" I really meant "non abstract": both `symbol`
> and `symbol-with-pos` describe *the* type of some objects (IOW `type-of`
> can return that symbol), as opposed to things like `sequence`, `list`,
> atom`, `number-or-marker`, ...

Ah!  Mmmh then is not so simple...

>> This generates as 'cl--typeof-types':
>>
>> ((subr-primitive subr function atom)
>>  (subr-native-elisp subr function atom)
>>  (module-function function atom)
>>  (byte-code-function compiled-function function atom)
>>  (cons list sequence)
>>  (null list sequence boolean symbol atom)
>>  (string array sequence atom)
>>  (char-table array sequence atom)
>>  (bool-vector array sequence atom)
>>  (vector array sequence atom)
>>  (keyword symbol-with-pos symbol atom)
>>  (fixnum integer number number-or-marker integer-or-marker atom)
>>  (bignum integer number number-or-marker integer-or-marker atom)
>>  (marker number-or-marker integer-or-marker atom)
>>  (float number number-or-marker atom)
>>  (obarray atom)
>>  (overlay atom)
>>  (window-configuration atom)
>>  (process atom)
>>  (window atom)
>>  (buffer atom)
>>  (frame atom)
>>  (hash-table atom)
>>  (terminal atom)
>>  (thread atom)
>>  (mutex atom)
>>  (condvar atom)
>>  (font-spec atom)
>>  (font-entity atom)
>>  (font-object atom)
>>  (user-ptr atom)
>>  (tree-sitter-parser atom)
>>  (tree-sitter-node atom)
>>  (tree-sitter-compiled-query atom)
>>  (structure atom)
>>  (class atom))
>>
>> Which looks okay to me at a first glance, but make check explodes 🤷...
>
> I see that `symbol` is missing there.  Don't know if that's why it
> explodes, OTOH.
>
> Better keep a few extra useless entries in there.

Ok agree

Thanks

  Andrea



reply via email to

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