unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Michael Heerdegen <michael_heerdegen@web.de>
To: Lars Ingebrigtsen <larsi@gnus.org>
Cc: Eli Zaretskii <eliz@gnu.org>,
	57079@debbugs.gnu.org, stefan@marxist.se,
	Juri Linkov <juri@linkov.net>
Subject: bug#57079: 29.0.50; Performance of seq-uniq is not very good
Date: Sat, 20 Aug 2022 05:17:26 +0200	[thread overview]
Message-ID: <871qtby56h.fsf@web.de> (raw)
In-Reply-To: <87fshvjfr3.fsf@gnus.org> (Lars Ingebrigtsen's message of "Wed, 17 Aug 2022 13:01:20 +0200")

Lars Ingebrigtsen <larsi@gnus.org> writes:

> > [...]  Once we said we don't want to extend CL too much because it
> > should be compatible with Common Lisp.
>
> We've dropped that argument a long time ago -- it's free-for-all-time in
> cl-lib.el.

Are we going to merge (or cherry pick) stuff from seq.el to cl-lib?
Probably not, so let's disregard the idea that cl-lib will ever be a
complete replacement for seq.el stuff.

> They're both fully baked, but use different design philosophies,
> catering to different audiences.  Of course I think that all seq.el
> functions should have :key...  and :test-not and :start and :from-end,
> but I come from a CL background.

I don't think I get it/buy it.  Could you explain (in theory, a yes/no
question) why we should not support that use case in `seq-uniq' without
saying the word "CL", and if you say "design", without comparing with
the design of CL?

If you can't: seq.el has lots of overlaps with other parts of Emacs.
What is so special about CL that an overlap is not acceptable?  Or what
is special about this task that it is not possible to handle it in
several places?

Please remember: I don't think in the term of "key functions", and I
don't want to introduce something like that to other seq.el functions,
so here is no argument.

I'll stop asking after this Email because we are going in circles - but
so far I just don't find your argumentation conclusive.

Actually, this `seq-uniq' function is a logical part of the yet-to-write
set.el library.  The task/semantics is: Find a subset containing exactly
one representative from each class of the elements of a given set.  But
I guess this library would also not be allowed to solve this task?  Why
do we add and develop them then at all?  Wouldn't it be better to
improve and develop cl-lib further instead then?  Serious question.

TIA,

Michael.





  reply	other threads:[~2022-08-20  3:17 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-09 16:11 bug#57079: 29.0.50; Performance of seq-uniq is not very good Stefan Kangas
2022-08-09 16:47 ` Eli Zaretskii
2022-08-09 16:57   ` Lars Ingebrigtsen
2022-08-09 17:07     ` Eli Zaretskii
2022-08-09 17:21       ` Lars Ingebrigtsen
2022-08-09 17:45         ` Stefan Kangas
2022-08-09 17:18     ` Eli Zaretskii
2022-08-09 17:23       ` Lars Ingebrigtsen
2022-08-09 17:36         ` Eli Zaretskii
2022-08-09 17:50           ` Eli Zaretskii
2022-08-09 17:52           ` Lars Ingebrigtsen
2022-08-09 17:59             ` Eli Zaretskii
2022-08-09 18:03               ` Lars Ingebrigtsen
2022-08-09 18:16                 ` Eli Zaretskii
2022-08-09 19:35                   ` Juri Linkov
2022-08-12 13:16                     ` Lars Ingebrigtsen
2022-08-12 23:59                       ` Michael Heerdegen
2022-08-13 11:50                         ` Lars Ingebrigtsen
2022-08-13 20:24                           ` Michael Heerdegen
2022-08-15  6:39                             ` Lars Ingebrigtsen
2022-08-15 23:37                               ` Michael Heerdegen
2022-08-17 11:01                                 ` Lars Ingebrigtsen
2022-08-20  3:17                                   ` Michael Heerdegen [this message]
2022-08-20  9:19                                     ` Lars Ingebrigtsen
2022-08-20 15:13                                       ` Drew Adams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=871qtby56h.fsf@web.de \
    --to=michael_heerdegen@web.de \
    --cc=57079@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=juri@linkov.net \
    --cc=larsi@gnus.org \
    --cc=stefan@marxist.se \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).