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

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

bug#69709: `sort` interface improvement and universal ordering predicate


From: Mattias Engdegård
Subject: bug#69709: `sort` interface improvement and universal ordering predicate
Date: Mon, 25 Mar 2024 12:11:57 +0100

24 mars 2024 kl. 00.25 skrev Stefan Monnier <monnier@iro.umontreal.ca>:

> When it matters, people can use `:in-place`.

Indeed, we follow the policy of being safe by default with a faster, more 
dangerous alternative on explicit request: `reverse` vs `nreverse`, for 
instance.

I'm quite happy with the result overall: safer, much easier to use, and faster, 
all at the same time. Many of the uses of `sort` in the Emacs tree would have 
benefitted a lot from the new design, especially the hand-written lambda 
monstrosities that try to implement multi-key comparisons.

It should also be quite feasible to supply a working (but slower) all-Lisp 
implementation for the `compat` package; I have some basic proof-of-concept 
code.

The plan is to add scratch/sort-key to master in a few days if no serious 
issues turn up. There are a few minor adjustments to the documentation that 
haven't been pushed yet.

Oh, and the embarrassing code in `value<` for comparing bool-vectors has now 
been sped up ~150x in my tree, if you were worried about that.






reply via email to

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