Subject: bug#76017: 31.0.50; Which args can cl-nintersection and cl-nset-difference mutate?

From: "Basil L. Contovounesios" <[email-masked]>
Date: Fri, 14 Feb 2025 15:58:04 +0100

Pip Cet [2025-02-14 11:13 +0000] wrote:

> Maybe if feature/igc is merged, and becomes a common option, we can
> formally make cl-nintersection an alias of cl-intersection,

I haven't followed most of the feature/igc developments; how do they
affect the choice of whether cl-nintersection aliases cl-intersection?

> rather than
> the currenet somewhat redundant wrapper.

I would sooner attempt a destructive implementation before giving up;
maybe tomorrow™.

> As a followup, I would like to propose removing claims of cons cells
> being reused "whenever possible", though: we reserve the right to
> mutate one of the arguments, but we don't, so we shouldn't make such
> claims.  (And what's "whenever possible" supposed to mean, anyway?  All
> cons cells are equal!)

The right to mutate one of the arguments is the function's raison
d'être, and its users ought to be made aware of that before they choose
to use it.  Today the implementation suffers from a clear performance
bug, but tomorrow that might be fixed, and at such time its already
informed users will automatically benefit from the fix.

Thanks,
-- 
Basil