[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
signature.asc
Description: PGP signature