[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-g
From: |
Stefan Monnier |
Subject: |
bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic? |
Date: |
Sun, 27 Apr 2025 08:59:24 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
>> Exactly, I fully agree, the question is "how to keep track of the
>> children"?
>
> You could approximate it with `after-load-functions`. Or, with the
> proposed patch, you could use an advice on `cl--type-deftype`. Once you
> do that, you won't need to break circularity in `cl-types-of`.
I think what I was trying to say all along is:
the circularity you're trying to break doesn't come from `cl-deftype` or
`cl-types-of` but from your impredicative definition of `T1`.
So it'd be best to fix it there:
(cl-deftype T1 ()
`(satisfies ,(lambda (o) (memq 'T1 (cl-types-of o)))))
=>
(defvar my-pending-T1-check (make-symbol "void"))
(cl-deftype T1 ()
`(satisfies
,(lambda (o)
(and (not (eq o my-pending-T1-check))
(let ((my-pending-T1-check o))
(memq 'T1 (cl-types-of o)))))))
- Stefan
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, (continued)
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, David Ponce, 2025/04/23
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, David Ponce, 2025/04/24
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, David Ponce, 2025/04/24
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, Stefan Monnier, 2025/04/24
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, David Ponce, 2025/04/25
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, Stefan Monnier, 2025/04/24
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, David Ponce, 2025/04/25
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, Stefan Monnier, 2025/04/25
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, David Ponce, 2025/04/26
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, Stefan Monnier, 2025/04/27
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?,
Stefan Monnier <=
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, David Ponce, 2025/04/27
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, David Ponce, 2025/04/28
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, Stefan Monnier, 2025/04/28
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, David Ponce, 2025/04/29
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, Stefan Monnier, 2025/04/29
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, David Ponce, 2025/04/29
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, Stefan Monnier, 2025/04/29
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, Stefan Monnier, 2025/04/29
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, David Ponce, 2025/04/30
- bug#77725: 31.0.50; Add support for types accepted by `cl-typep' to cl-generic?, Stefan Monnier, 2025/04/25