emacs-devel
[Top][All Lists]
Advanced

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

Re: Can we add two args to copy-sequence?


From: John Wiegley
Subject: Re: Can we add two args to copy-sequence?
Date: Fri, 15 Dec 2017 22:18:38 -0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.90 (darwin)

>>>>> "j" == jun <address@hidden> writes:

j> Yes, I just know subseq. And there are also seq-subseq, seq-take, seq-drop,
j> butlast, Two many and hard to remmber. Almost all of them are implemented
j> in lisp except copy-sequence which is in C. Some of them are implemented by
j> copying the whole sequence and then modify the copy. If we add the two args
j> to copy-sequence, then these functions can be based on it with only one or
j> two lines in lisp, and reduce some data copy. Does the two args make
j> copy-sequence too much complex internally?

Ah, subseq, there it is. I kept looking for sublist or some variant thereof.

It's not that it's too complex internally, it's that extracting a sublist is
not the purpose of copy-sequence. You are asking us to add extra arguments to
a function to double its purpose, in a way that's more than just "copying a
sequence", as the name implies.

I'm very much against shoe-horning other behaviors into functions that appear
"close enough" for this sort of convenience. Please use cl-subseq. If we need
to move subseq into C, that's a different request, and could be made on
grounds of efficiency or speed. But I won't make copy-sequence more complex
for this reason.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2

Attachment: signature.asc
Description: PGP signature


reply via email to

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