bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#47992: [External] : bug#47992: 27; 28; Phase out use of `equal` in `


From: Daniel Mendler
Subject: bug#47992: [External] : bug#47992: 27; 28; Phase out use of `equal` in `add-hook`, `remove-hook`
Date: Sun, 25 Apr 2021 00:38:25 +0200

On 4/25/21 12:30 AM, Stefan Monnier wrote:
Perhaps `equal' can be fixed to do something better with closures?

There's no magic: `equal` has to check the structural equality, so it
has to recurse through the whole structure, including all the
closed-over variables to which it refers.

Well, structural equality on closures is an arbitrary choice. One could simply refuse to compare closures structurally and treat them as opaque objects. The structural equality does not even perform alpha conversion. This is probably due to how binding works in Elisp?

(equal (lambda (x) x) (lambda (y) y))

Daniel





reply via email to

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