From unknown Wed Jun 18 23:18:09 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#67456 <67456@debbugs.gnu.org> To: bug#67456 <67456@debbugs.gnu.org> Subject: Status: [PATCH] seq.el: Add functions for mapping over subsequences Reply-To: bug#67456 <67456@debbugs.gnu.org> Date: Thu, 19 Jun 2025 06:18:09 +0000 retitle 67456 [PATCH] seq.el: Add functions for mapping over subsequences reassign 67456 emacs submitter 67456 Okamsn severity 67456 wishlist tag 67456 moreinfo patch thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 26 12:18:12 2023 Received: (at submit) by debbugs.gnu.org; 26 Nov 2023 17:18:12 +0000 Received: from localhost ([127.0.0.1]:42644 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r7Ilo-0005bb-4E for submit@debbugs.gnu.org; Sun, 26 Nov 2023 12:18:12 -0500 Received: from lists.gnu.org ([2001:470:142::17]:58564) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r7Ill-0005b2-9q for submit@debbugs.gnu.org; Sun, 26 Nov 2023 12:18:11 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r7IlV-0005wq-Ok for bug-gnu-emacs@gnu.org; Sun, 26 Nov 2023 12:17:54 -0500 Received: from mail-4316.protonmail.ch ([185.70.43.16]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r7IlR-0007x0-Vj for bug-gnu-emacs@gnu.org; Sun, 26 Nov 2023 12:17:52 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1701019060; x=1701278260; bh=qMR6dNmiXYpIViCtjvC8X2oQiHpeGgP0pGjFrcWSCCI=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=J0d9/D+RB4WMaMpbkuxZG7afB7ceciE+i/53sUm+jIk0f5CZtAxwlq3e7ADlXyruV AGzpvEhnj5guOSjfJNl4P/6DL+ygPcFqhMVuX5VPoyIODTWUNu5Z/Mv1PAS4qY8ZJh 7qjW3oad2S+unM+qyuduTgvxO4rrEjdlq1t7RNmheW8LYGBetbzPcMtGCmEIn2AvLn wCGWGuEAvj9jBxMlPx1Jx8X91WdkL5elS7FwA4jnT5P9Fih0ZfU5fXUx5YRTKrxw76 ThZm5rb3kUGzMlmnZlFpDW8ksVdCQrDixgo83yWCnRs+adVQ+XMWpn0oUrzZxKM3MY pxC64NKA6g3sQ== Date: Sun, 26 Nov 2023 17:17:35 +0000 To: bug-gnu-emacs@gnu.org, Nicolas Petton From: Okamsn Subject: [PATCH] seq.el: Add functions for mapping over subsequences Message-ID: <6f6d9f2d-fee9-4d1d-a1e4-8c6ce57a0627@protonmail.com> Feedback-ID: 25935600:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_0UHc1bd4Q0BgDpqpjszXE04CheHhJcGSYrxJNXBMFw4" Received-SPF: pass client-ip=185.70.43.16; envelope-from=okamsn@protonmail.com; helo=mail-4316.protonmail.ch X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H5=-1, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) This is a multi-part message in MIME format. --b1_0UHc1bd4Q0BgDpqpjszXE04CheHhJcGSYrxJNXBMFw4 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello, The attached features work like `cl-maplist` and `cl-mapl`, applying=20 functions to a sequence and to the remaining parts of a sequence. For=20 example, `(seq-mapsub #'identity [1 2 3])` returns `([1 2 3] [2 3] [3])`. The patch adds a `seq-mapsub`, `seq-dosub`, and a `seq-doseqsub`,=20 similar to `seq-map`, `seq-do`, and `seq-doseq`, respectively. I was looking for an equivalent for vectors of `cl-maplist`, `cl-mapl`,=20 and `cl-loop`'s `for VAR on LIST`, and think that these would be useful=20 additions. To get the sub-sequences, the code uses `seq-rest` and stops when the=20 returned sub-sequence is empty according to `seq-empty-p`. This is=20 similar to how I would do it for a list, using `cdr` and `null`, but is=20 that a good way to do it for arrays and other sequences? Thank you. --b1_0UHc1bd4Q0BgDpqpjszXE04CheHhJcGSYrxJNXBMFw4 Content-Type: text/x-patch; charset=UTF-8; name=0001-Create-seq-functions-for-mapping-over-subsequences.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-Create-seq-functions-for-mapping-over-subsequences.patch RnJvbSAyZjA3MzgzNDcwYjkwMDA5Yzc4YjA0NTllZTA5ZmNjNTEzZTBlMTJmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFN1biwgMjYgTm92IDIwMjMgMTE6MjA6MjggLTA1MDAKU3ViamVjdDogW1BBVENIXSBDcmVh dGUgc2VxIGZ1bmN0aW9ucyBmb3IgbWFwcGluZyBvdmVyIHN1YnNlcXVlbmNlcy4KClRoZXNlIGZ1 bmN0aW9ucyBhcmUgc2ltaWxhciB0byAnY2wtbWFwbGlzdCcgYW5kICdjbC1tYXBsJy4KCiogbGlz cC9lbWFjcy1saXNwL3NlcS5lbCAoc2VxLW1hcHN1Yiwgc2VxLWRvc3ViLCBzZXEtZG9zZXFzdWIp OgpBZGQgZnVuY3Rpb25zIGZvciBtYXBwaW5nIG92ZXIgc3ViLXNlcXVlbmNlcywgbGlrZSBpbiAn Y2wtbWFwbGlzdCcsCnNpbWlsYXIgdG8gdGhlIGV4aXN0aW5nICdzZXEtbWFwJywgJ3NlcS1kbycs IGFuZCAnc2VxLWRvc2VxJy4KCiogdGVzdC9saXNwL2VtYWNzLWxpc3Avc2VxLXRlc3RzLmVsICh0 ZXN0LXNlcS1tYXBzdWIsIHRlc3Qtc2VxLWRvc3ViKQoodGVzdC1zZXEtZG9zZXFzdWIpOiBBZGQg dGVzdHMgZm9yIHRoZSBhYm92ZSBmdW5jdGlvbnMuCgoqIGRvYy9saXNwcmVmL3NlcXVlbmNlcy50 ZXhpIChTZXF1ZW5jZSBGdW5jdGlvbnMpOiBEZXNjcmliZSB0aGUKZnVuY3Rpb25zLgotLS0KIGRv Yy9saXNwcmVmL3NlcXVlbmNlcy50ZXhpICAgICAgICB8IDI3ICsrKysrKysrKysrKysrKysrKysr CiBsaXNwL2VtYWNzLWxpc3Avc2VxLmVsICAgICAgICAgICAgfCA0MSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCiB0ZXN0L2xpc3AvZW1hY3MtbGlzcC9zZXEtdGVzdHMuZWwgfCAzNiAr KysrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTA0IGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9kb2MvbGlzcHJlZi9zZXF1ZW5jZXMudGV4aSBiL2RvYy9saXNw cmVmL3NlcXVlbmNlcy50ZXhpCmluZGV4IGM5YzZiYjMxMzUwLi5lNDJmODRiZTJiNSAxMDA2NDQK LS0tIGEvZG9jL2xpc3ByZWYvc2VxdWVuY2VzLnRleGkKKysrIGIvZG9jL2xpc3ByZWYvc2VxdWVu Y2VzLnRleGkKQEAgLTU5NCw2ICs1OTQsMTUgQEAgU2VxdWVuY2UgRnVuY3Rpb25zCiBAdmFye3Nl cXVlbmNlfS4KIEBlbmQgZGVmdW4KIAorQGRlZnVuIHNlcS1kb3N1YiBmdW5jdGlvbiBzZXF1ZW5j ZQorICBUaGlzIGZ1bmN0aW9uIGFwcGxpZXMgQHZhcntmdW5jdGlvbn0gdG8gQHZhcntzZXF1ZW5j ZX0gYW5kIGl0cworc3ViLXNlcXVlbmNlcyBpbiB0dXJuIChwcmVzdW1hYmx5IGZvciBzaWRlIGVm ZmVjdHMpLCBhbmQgcmV0dXJucworQHZhcntzZXF1ZW5jZX0uICBUaGUgZmlyc3Qgc2VxdWVuY2Ug dXNlZCBpcyBAdmFye3NlcXVlbmNlfSwgdGhlIHNlY29uZAorc2VxdWVuY2UgdXNlZCBpcyBldmVy eXRoaW5nIGluIEB2YXJ7c2VxdWVuY2V9IGFmdGVyIHRoZSBmaXJzdCBlbGVtZW50LAordGhlIHRo aXJkIHNlcXVlbmNlIHVzZWQgaXMgZXZlcnl0aGluZyBhZnRlciB0aGUgc2Vjb25kIGVsZW1lbnQs IGFuZCBzbworb24uCitAZW5kIGRlZnVuCisKIEBkZWZ1biBzZXEtbWFwIGZ1bmN0aW9uIHNlcXVl bmNlCiAgIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGFwcGx5aW5nIEB2YXJ7 ZnVuY3Rpb259IHRvIGVhY2gKIGVsZW1lbnQgb2YgQHZhcntzZXF1ZW5jZX0uICBUaGUgcmV0dXJu ZWQgdmFsdWUgaXMgYSBsaXN0LgpAQCAtNjEwLDYgKzYxOSwxOSBAQCBTZXF1ZW5jZSBGdW5jdGlv bnMKIEBlbmQgZXhhbXBsZQogQGVuZCBkZWZ1bgogCitAZGVmdW4gc2VxLW1hcHN1YiBmdW5jdGlv biBzZXF1ZW5jZQorICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHJlc3VsdCBvZiBhcHBseWlu ZyBAdmFye2Z1bmN0aW9ufSB0bworQHZhcntzZXF1ZW5jZX0gYW5kIGl0cyBzdWItc2VxdWVuY2Vz LCBsaWtlIGluIEBjb2Rle3NlcS1kb3N1Yn0uICBUaGUKK3JldHVybmVkIHZhbHVlIGlzIGEgbGlz dC4KKworQGV4YW1wbGUKK0Bncm91cAorKHNlcS1tYXBzdWIgIydpZGVudGl0eSBbMSAyIDNdKQor QHJlc3VsdHt9IChbMSAyIDNdIFsyIDNdIFszXSkKK0BlbmQgZ3JvdXAKK0BlbmQgZXhhbXBsZQor QGVuZCBkZWZ1bgorCiBAZGVmdW4gc2VxLW1hcC1pbmRleGVkIGZ1bmN0aW9uIHNlcXVlbmNlCiAg IFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgcmVzdWx0IG9mIGFwcGx5aW5nIEB2YXJ7ZnVuY3Rp b259IHRvIGVhY2gKIGVsZW1lbnQgb2YgQHZhcntzZXF1ZW5jZX0gYW5kIGl0cyBpbmRleCB3aXRo aW4gQHZhcntzZXF9LiAgVGhlCkBAIC0xMTUyLDYgKzExNzQsMTEgQEAgU2VxdWVuY2UgRnVuY3Rp b25zCiBwcmltYXJpbHkgdXNlZnVsIGZvciBzaWRlLWVmZmVjdHMuCiBAZW5kIGRlZm1hYwogCitA ZGVmbWFjIHNlcS1kb3NlcXN1YiAodmFyIHNlcXVlbmNlKSBib2R5QGRvdHN7fQorICBUaGlzIG1h Y3JvIGlzIGxpa2UgQGNvZGV7c2VxLWRvc2VxfSwgZXhjZXB0IHRoYXQgaXQgaXRlcmF0ZXMKK292 ZXIgdGhlIHNlcXVlbmNlIGFuZCBpdHMgc3ViLXNlcXVlbmNlcywgbGlrZSBpbiBAY29kZXtzZXEt bWFwc3VifS4KK0BlbmQgZGVmbWFjCisKIEBhbmNob3J7c2VxLWxldH0KIEBkZWZtYWMgc2VxLWxl dCB2YXItc2VxdWVuY2UgdmFsLXNlcXVlbmNlIGJvZHlAZG90c3t9CiBAY2luZGV4IHNlcXVlbmNl IGRlc3RydWN0dXJpbmcKZGlmZiAtLWdpdCBhL2xpc3AvZW1hY3MtbGlzcC9zZXEuZWwgYi9saXNw L2VtYWNzLWxpc3Avc2VxLmVsCmluZGV4IDM0NjI1MGMxZDM1Li41YjllYjI5YTNlMiAxMDA2NDQK LS0tIGEvbGlzcC9lbWFjcy1saXNwL3NlcS5lbAorKysgYi9saXNwL2VtYWNzLWxpc3Avc2VxLmVs CkBAIC0yMzUsNiArMjM1LDQ3IEBAIHNlcS1tYXBuCiAgICAgICAoc2V0cSBzZXF1ZW5jZXMgKHNl cS1tYXAgIydjZHIgc2VxdWVuY2VzKSkpCiAgICAgKG5yZXZlcnNlIHJlc3VsdCkpKQogCisoY2wt ZGVmZ2VuZXJpYyBzZXEtbWFwc3ViIChmdW5jdGlvbiBzZXF1ZW5jZSkKKyAgIlJldHVybiB0aGUg cmVzdWx0IG9mIGFwcGx5aW5nIEZVTkNUSU9OIHRvIFNFUVVFTkNFIGFuZCBpdHMgc3ViLXNlcXVl bmNlcy4KKworVGhlIGZpcnN0IHNlcXVlbmNlIGlzIHRoZSBlbnRpcmUgc2VxdWVuY2UsIHRoZSBz ZWNvbmQgc2VxdWVuY2UKK2lzIGV2ZXJ5dGhpbmcgYWZ0ZXIgdGhlIGZpcnN0IGVsZW1lbnQsIHRo ZSB0aGlyZCBzZXF1ZW5jZQoraXMgZXZlcnl0aGluZyBhZnRlciB0aGUgc2Vjb25kIGVsZW1lbnQs IGFuZCBzbyBvbi4iCisgIChsZXQgKChyZXN1bHQgbmlsKSkKKyAgICAod2hpbGUgKG5vdCAoc2Vx LWVtcHR5LXAgc2VxdWVuY2UpKQorICAgICAgKHB1c2ggKGZ1bmNhbGwgZnVuY3Rpb24gc2VxdWVu Y2UpCisgICAgICAgICAgICByZXN1bHQpCisgICAgICAoc2V0cSBzZXF1ZW5jZSAoc2VxLXJlc3Qg c2VxdWVuY2UpKSkKKyAgICAobnJldmVyc2UgcmVzdWx0KSkpCisKKyhjbC1kZWZnZW5lcmljIHNl cS1kb3N1YiAoZnVuY3Rpb24gc2VxdWVuY2UpCisgICJMb29wIG92ZXIgU0VRVUVOQ0UgYW5kIGl0 cyBzdWItc2VxdWVuY2VzLgorCitQcmVzdW1hYmx5LCBGVU5DVElPTiBoYXMgdXNlZnVsIHNpZGUg ZWZmZWN0cy4KK1JldHVybiBTRVFVRU5DRS4KKworVGhlIGZpcnN0IHNlcXVlbmNlIGlzIHRoZSBl bnRpcmUgc2VxdWVuY2UsIHRoZSBzZWNvbmQgc2VxdWVuY2UKK2lzIGV2ZXJ5dGhpbmcgYWZ0ZXIg dGhlIGZpcnN0IGVsZW1lbnQsIHRoZSB0aGlyZCBzZXF1ZW5jZQoraXMgZXZlcnl0aGluZyBhZnRl ciB0aGUgc2Vjb25kIGVsZW1lbnQsIGFuZCBzbyBvbi4iCisgIChsZXQgKChvcmlnIHNlcXVlbmNl KSkKKyAgICAod2hpbGUgKG5vdCAoc2VxLWVtcHR5LXAgc2VxdWVuY2UpKQorICAgICAgKGZ1bmNh bGwgZnVuY3Rpb24gc2VxdWVuY2UpCisgICAgICAoc2V0cSBzZXF1ZW5jZSAoc2VxLXJlc3Qgc2Vx dWVuY2UpKSkKKyAgICBvcmlnKSkKKworKGRlZm1hY3JvIHNlcS1kb3NlcXN1YiAoc3BlYyAmcmVz dCBib2R5KQorICAiTG9vcCBvdmVyIFNFUVVFTkNFLCBldmFsdWF0aW5nIEJPRFkgd2l0aCBWQVIg Ym91bmQgdG8gaXRzIHN1Yi1zZXF1ZW5jZXMuCisKK1RoZSBmaXJzdCBzZXF1ZW5jZSBpcyB0aGUg ZW50aXJlIHNlcXVlbmNlLCB0aGUgc2Vjb25kIHNlcXVlbmNlCitpcyBldmVyeXRoaW5nIGFmdGVy IHRoZSBmaXJzdCBlbGVtZW50LCB0aGUgdGhpcmQgc2VxdWVuY2UKK2lzIGV2ZXJ5dGhpbmcgYWZ0 ZXIgdGhlIHNlY29uZCBlbGVtZW50LCBhbmQgc28gb24uCisKK1woZm4gKFZBUiBTRVFVRU5DRSkg Qk9EWS4uLikiCisgIChkZWNsYXJlIChpbmRlbnQgMSkgKGRlYnVnICgoc3ltYm9scCBmb3JtICZv cHRpb25hbCBmb3JtKSBib2R5KSkpCisgIGAoc2VxLWRvc3ViIChsYW1iZGEgKCwoY2FyIHNwZWMp KQorICAgICAgICAgICAgICAgICxAYm9keSkKKyAgICAgICAgICAgICAgLChjYWRyIHNwZWMpKSkK KwogKGNsLWRlZmdlbmVyaWMgc2VxLWRyb3AgKHNlcXVlbmNlIG4pCiAgICJSZW1vdmUgdGhlIGZp cnN0IE4gZWxlbWVudHMgb2YgU0VRVUVOQ0UgYW5kIHJldHVybiB0aGUgcmVzdWx0aW5nIHNlcXVl bmNlLgogVGhlIHJlc3VsdCBpcyBhIHNlcXVlbmNlIG9mIHRoZSBzYW1lIHR5cGUgYXMgU0VRVUVO Q0UuCmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvZW1hY3MtbGlzcC9zZXEtdGVzdHMuZWwgYi90ZXN0 L2xpc3AvZW1hY3MtbGlzcC9zZXEtdGVzdHMuZWwKaW5kZXggNzFmZjk5MWMyMTUuLjFjMTE3ZDA2 OTc0IDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZW1hY3MtbGlzcC9zZXEtdGVzdHMuZWwKKysrIGIv dGVzdC9saXNwL2VtYWNzLWxpc3Avc2VxLXRlc3RzLmVsCkBAIC0xMjEsNiArMTIxLDQyIEBAIHRl c3Qtc2VxLWRvLWluZGV4ZWQKICAgICAgIChzaG91bGQgKGVxdWFsIChzZXEtZWx0IHJlc3VsdCAx KSAnKDUgMSkpKQogICAgICAgKHNob3VsZCAoZXF1YWwgKHNlcS1lbHQgcmVzdWx0IDIpICcoNCAw KSkpKSkpCiAKKyhlcnQtZGVmdGVzdCB0ZXN0LXNlcS1tYXBzdWIgKCkKKyAgKHNob3VsZCAoZXF1 YWwgKHNlcS1tYXBzdWIgIydpZGVudGl0eSBbMSAyIDNdKQorICAgICAgICAgICAgICAgICAnKFsx IDIgM10gWzIgM10gWzNdKSkpCisgIChzaG91bGQgKGVxdWFsIChzZXEtbWFwc3ViICMnaWRlbnRp dHkgJygxIDIgMykpCisgICAgICAgICAgICAgICAgICcoKDEgMiAzKSAoMiAzKSAoMykpKSkpCisK KyhlcnQtZGVmdGVzdCB0ZXN0LXNlcS1kb3N1YiAoKQorICAoc2hvdWxkIChlcXVhbCAoc2VxLWRv c3ViICMnaWRlbnRpdHkgWzEgMiAzXSkKKyAgICAgICAgICAgICAgICAgWzEgMiAzXSkpCisgIChz aG91bGQgKGVxdWFsIChzZXEtZG9zdWIgIydpZGVudGl0eSAnKDEgMiAzKSkKKyAgICAgICAgICAg ICAgICAgJygxIDIgMykpKQorICAoc2hvdWxkIChlcXVhbCAobGV0ICgocmVzIChsaXN0KSkpCisg ICAgICAgICAgICAgICAgICAgKHNlcS1kb3N1YiAobGFtYmRhICh4KQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAocHVzaCB4IHJlcykpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBbMSAyIDNdKQorICAgICAgICAgICAgICAgICAgIChucmV2ZXJzZSByZXMpKQorICAgICAg ICAgICAgICAgICAnKFsxIDIgM10gWzIgM10gWzNdKSkpCisgIChzaG91bGQgKGVxdWFsIChsZXQg KChyZXMgKGxpc3QpKSkKKyAgICAgICAgICAgICAgICAgICAoc2VxLWRvc3ViIChsYW1iZGEgKHgp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwdXNoIHggcmVzKSkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICcoMSAyIDMpKQorICAgICAgICAgICAgICAgICAgIChucmV2 ZXJzZSByZXMpKQorICAgICAgICAgICAgICAgICAnKCgxIDIgMykgKDIgMykgKDMpKSkpKQorCiso ZXJ0LWRlZnRlc3QgdGVzdC1zZXEtZG9zZXFzdWIgKCkKKyAgKHNob3VsZCAoZXF1YWwgKGxldCAo KHJlcyAobGlzdCkpKQorICAgICAgICAgICAgICAgICAgIChzZXEtZG9zZXFzdWIgKHggWzEgMiAz XSkKKyAgICAgICAgICAgICAgICAgICAgIChwdXNoIHggcmVzKSkKKyAgICAgICAgICAgICAgICAg ICAobnJldmVyc2UgcmVzKSkKKyAgICAgICAgICAgICAgICAgJyhbMSAyIDNdIFsyIDNdIFszXSkp KQorICAoc2hvdWxkIChlcXVhbCAobGV0ICgocmVzIChsaXN0KSkpCisgICAgICAgICAgICAgICAg ICAgKHNlcS1kb3NlcXN1YiAoeCAnKDEgMiAzKSkKKyAgICAgICAgICAgICAgICAgICAgIChwdXNo IHggcmVzKSkKKyAgICAgICAgICAgICAgICAgICAobnJldmVyc2UgcmVzKSkKKyAgICAgICAgICAg ICAgICAgJygoMSAyIDMpICgyIDMpICgzKSkpKSkKKwogKGVydC1kZWZ0ZXN0IHRlc3Qtc2VxLWZp bHRlciAoKQogICAod2l0aC10ZXN0LXNlcXVlbmNlcyAoc2VxICcoNiA3IDggOSAxMCkpCiAgICAg KHNob3VsZCAoZXF1YWwgKHNlcS1maWx0ZXIgIyd0ZXN0LXNlcXVlbmNlcy1ldmVucCBzZXEpICco NiA4IDEwKSkpCi0tIAoyLjM0LjEKCg== --b1_0UHc1bd4Q0BgDpqpjszXE04CheHhJcGSYrxJNXBMFw4-- From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 27 20:29:44 2023 Received: (at submit) by debbugs.gnu.org; 28 Nov 2023 01:29:44 +0000 Received: from localhost ([127.0.0.1]:45103 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r7mv1-00070S-J6 for submit@debbugs.gnu.org; Mon, 27 Nov 2023 20:29:44 -0500 Received: from lists.gnu.org ([2001:470:142::17]:58580) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r7muz-00070B-7B for submit@debbugs.gnu.org; Mon, 27 Nov 2023 20:29:42 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r7mum-0005oq-0D for bug-gnu-emacs@gnu.org; Mon, 27 Nov 2023 20:29:28 -0500 Received: from mail-40131.protonmail.ch ([185.70.40.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r7muj-0003FE-L2 for bug-gnu-emacs@gnu.org; Mon, 27 Nov 2023 20:29:27 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1701134961; x=1701394161; bh=kDHHh21xjkyu/QplJuQHzMDo4+j4MUWslzDY6eTF6F0=; h=Date:To:From:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=FEe0tJKop5jAptXAsV+GM5K1fBWGog/3CzbBKNzZ++kkTaTI1rWNRb1aJ1bT3/rUg 6mhJuP1tGkjv8dUdi3dxp0uVxmFy9PUY4jyJeQCyFHoQC+Dxs+/hS74fnpC6nQ0SXP BWNtRvuLwI4SVCEyRF7w70E3S7bYxl68XrXu0fk6PdnBavaDtbigwUMWTAFZHj3tZS DtIMOOLnAkCxo0TwgfkWY94K8Zx7UbpK5IIvSRMLEHJL0z/DiOWWjRYOmDjajYVdOf m2zPeUsW7UyPmwbAARm7oj7agXE90pMMxsItyY2gFqDgONNwEKvTR96WQyU64vW9Xw L5nT8uHQtcWCA== Date: Tue, 28 Nov 2023 01:29:14 +0000 To: bug-gnu-emacs@gnu.org, Nicolas Petton From: Okamsn Subject: Re: [PATCH] seq.el: Add functions for mapping over subsequences Message-ID: <3f57efba-4258-4c81-8c57-e6bedd19888f@protonmail.com> In-Reply-To: <6f6d9f2d-fee9-4d1d-a1e4-8c6ce57a0627@protonmail.com> References: <6f6d9f2d-fee9-4d1d-a1e4-8c6ce57a0627@protonmail.com> Feedback-ID: 25935600:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_x5XJONrxbozzHL5DRQPmyW32AcFP2YgDqVVmGSbqHZM" Received-SPF: pass client-ip=185.70.40.131; envelope-from=okamsn@protonmail.com; helo=mail-40131.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) This is a multi-part message in MIME format. --b1_x5XJONrxbozzHL5DRQPmyW32AcFP2YgDqVVmGSbqHZM Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Okamsn wrote: > Hello, >=20 > The attached features work like `cl-maplist` and `cl-mapl`, applying > functions to a sequence and to the remaining parts of a sequence. For > example, `(seq-mapsub #'identity [1 2 3])` returns `([1 2 3] [2 3] [3])`. >=20 > The patch adds a `seq-mapsub`, `seq-dosub`, and a `seq-doseqsub`, > similar to `seq-map`, `seq-do`, and `seq-doseq`, respectively. >=20 > I was looking for an equivalent for vectors of `cl-maplist`, `cl-mapl`, > and `cl-loop`'s `for VAR on LIST`, and think that these would be useful > additions. >=20 > To get the sub-sequences, the code uses `seq-rest` and stops when the > returned sub-sequence is empty according to `seq-empty-p`. This is > similar to how I would do it for a list, using `cdr` and `null`, but is > that a good way to do it for arrays and other sequences? >=20 > Thank you. I've updated the patch to only add the one `seq-mapsub` function, to be=20 more like `seq-mapn` and `seq-mapcat`, and to add an optimized version=20 for lists. Would you like anything changed? Thank you. --b1_x5XJONrxbozzHL5DRQPmyW32AcFP2YgDqVVmGSbqHZM Content-Type: text/x-patch; charset=UTF-8; name=v2-0001-Create-function-seq-mapsub-for-mapping-over-subse.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v2-0001-Create-function-seq-mapsub-for-mapping-over-subse.patch RnJvbSBlYThlZTUxOTc3YzBhNTgzYmMzNzQ4NTZhZjYzMzk0NTE0NGJjN2RkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBFYXJsIEh5YXR0IDxva2Ftc25AcHJvdG9ubWFpbC5jb20+CkRh dGU6IFN1biwgMjYgTm92IDIwMjMgMTE6MjA6MjggLTA1MDAKU3ViamVjdDogW1BBVENIIHYyXSBD cmVhdGUgZnVuY3Rpb24gJ3NlcS1tYXBzdWInIGZvciBtYXBwaW5nIG92ZXIKIHN1YnNlcXVlbmNl cy4KClRoaXMgZnVuY3Rpb24gaXMgc2ltaWxhciB0byAnY2wtbWFwbGlzdCcuCgoqIGxpc3AvZW1h Y3MtbGlzcC9zZXEuZWwgKHNlcS1tYXBzdWIpOiBBZGQgZ2VuZXJpYyBmdW5jdGlvbiBmb3IKbWFw cGluZyBvdmVyIHN1Yi1zZXF1ZW5jZXMsIGxpa2UgaW4gJ2NsLW1hcGxpc3QnLiAgQWRkIG9wdGlt aXplZAppbXBsZW1lbnRhdGlvbiBmb3IgbGlzdHMuCgoqIHRlc3QvbGlzcC9lbWFjcy1saXNwL3Nl cS10ZXN0cy5lbCAodGVzdC1zZXEtbWFwc3ViKTogQWRkIHRlc3RzIGZvcgp0aGUgYWJvdmUgZnVu Y3Rpb25zLgoKKiBkb2MvbGlzcHJlZi9zZXF1ZW5jZXMudGV4aSAoU2VxdWVuY2UgRnVuY3Rpb25z KTogRGVzY3JpYmUgdGhlCmZ1bmN0aW9uLgotLS0KIGRvYy9saXNwcmVmL3NlcXVlbmNlcy50ZXhp ICAgICAgICB8IDIwICsrKysrKysrKysrKysrKysrKysrCiBsaXNwL2VtYWNzLWxpc3Avc2VxLmVs ICAgICAgICAgICAgfCAyNSArKysrKysrKysrKysrKysrKysrKysrKysrCiB0ZXN0L2xpc3AvZW1h Y3MtbGlzcC9zZXEtdGVzdHMuZWwgfCAxMCArKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDU1 IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kb2MvbGlzcHJlZi9zZXF1ZW5jZXMudGV4aSBi L2RvYy9saXNwcmVmL3NlcXVlbmNlcy50ZXhpCmluZGV4IGM5YzZiYjMxMzUwLi4xMjM0ZjUxZTE4 OCAxMDA2NDQKLS0tIGEvZG9jL2xpc3ByZWYvc2VxdWVuY2VzLnRleGkKKysrIGIvZG9jL2xpc3By ZWYvc2VxdWVuY2VzLnRleGkKQEAgLTY0NCw2ICs2NDQsMjYgQEAgU2VxdWVuY2UgRnVuY3Rpb25z CiBAZW5kIGV4YW1wbGUKIEBlbmQgZGVmdW4KIAorQGRlZnVuIHNlcS1tYXBzdWIgZnVuY3Rpb24g c2VxdWVuY2UKKyAgVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSByZXN1bHQgb2YgYXBwbHlpbmcg QHZhcntmdW5jdGlvbn0gdG8KK0B2YXJ7c2VxdWVuY2V9IGFuZCBpdHMgc3ViLXNlcXVlbmNlcy4g IFRoZSBmaXJzdCBzZXF1ZW5jZSB1c2VkIGlzCitAdmFye3NlcXVlbmNlfSwgdGhlIHNlY29uZCBz ZXF1ZW5jZSB1c2VkIGlzIGV2ZXJ5dGhpbmcgaW4KK0B2YXJ7c2VxdWVuY2V9IGFmdGVyIHRoZSBm aXJzdCBlbGVtZW50LCB0aGUgdGhpcmQgc2VxdWVuY2UgdXNlZCBpcworZXZlcnl0aGluZyBhZnRl ciB0aGUgc2Vjb25kIGVsZW1lbnQsIGFuZCBzbyBvbi4gVGhlIHJldHVybmVkIHZhbHVlIGlzCith IGxpc3QuIElmIEB2YXJ7c2VxdWVuY2V9IGlzIGVtcHR5LCB0aGVuIHRoZSByZXR1cm5lZCBsaXN0 IGlzIGVtcHR5LgorCitAZXhhbXBsZQorQGdyb3VwCisoc2VxLW1hcHN1YiAjJ2lkZW50aXR5IFsx IDIgM10pCitAcmVzdWx0e30gKFsxIDIgM10gWzIgM10gWzNdKQorQGVuZCBncm91cAorQGdyb3Vw Cisoc2VxLW1hcHN1YiAjJ2lkZW50aXR5IFtdKQorQHJlc3VsdHt9IG5pbAorQGVuZCBncm91cAor QGVuZCBleGFtcGxlCitAZW5kIGRlZnVuCisKIEBkZWZ1biBzZXEtZmlsdGVyIHByZWRpY2F0ZSBz ZXF1ZW5jZQogQGNpbmRleCBmaWx0ZXJpbmcgc2VxdWVuY2VzCiAgIFRoaXMgZnVuY3Rpb24gcmV0 dXJucyBhIGxpc3Qgb2YgYWxsIHRoZSBlbGVtZW50cyBpbiBAdmFye3NlcXVlbmNlfQpkaWZmIC0t Z2l0IGEvbGlzcC9lbWFjcy1saXNwL3NlcS5lbCBiL2xpc3AvZW1hY3MtbGlzcC9zZXEuZWwKaW5k ZXggMzQ2MjUwYzFkMzUuLmU5NDIxZDdhNWRiIDEwMDY0NAotLS0gYS9saXNwL2VtYWNzLWxpc3Av c2VxLmVsCisrKyBiL2xpc3AvZW1hY3MtbGlzcC9zZXEuZWwKQEAgLTIzNSw2ICsyMzUsMjIgQEAg c2VxLW1hcG4KICAgICAgIChzZXRxIHNlcXVlbmNlcyAoc2VxLW1hcCAjJ2NkciBzZXF1ZW5jZXMp KSkKICAgICAobnJldmVyc2UgcmVzdWx0KSkpCiAKKyhjbC1kZWZnZW5lcmljIHNlcS1tYXBzdWIg KGZ1bmN0aW9uIHNlcXVlbmNlKQorICAiUmV0dXJuIHRoZSByZXN1bHQgb2YgYXBwbHlpbmcgRlVO Q1RJT04gdG8gU0VRVUVOQ0UgYW5kIGl0cyBzdWItc2VxdWVuY2VzLgorCitJZiBTRVFVRU5DRSBp cyBlbXB0eSwgbmlsIGlzIHJldHVybmVkLgorCitUaGUgZmlyc3Qgc2VxdWVuY2UgdXNlZCBpcyBT RVFVRU5DRSwgdGhlIHNlY29uZCBzZXF1ZW5jZSB1c2VkIGlzCitldmVyeXRoaW5nIGluIFNFUVVF TkNFIGFmdGVyIHRoZSBmaXJzdCBlbGVtZW50LCB0aGUgdGhpcmQKK3NlcXVlbmNlIHVzZWQgaXMg ZXZlcnl0aGluZyBhZnRlciB0aGUgc2Vjb25kIGVsZW1lbnQsIGFuZCBzbworb24uIgorICAobGV0 ICgocmVzdWx0IG5pbCkpCisgICAgKHdoaWxlIChub3QgKHNlcS1lbXB0eS1wIHNlcXVlbmNlKSkK KyAgICAgIChwdXNoIChmdW5jYWxsIGZ1bmN0aW9uIHNlcXVlbmNlKQorICAgICAgICAgICAgcmVz dWx0KQorICAgICAgKHNldHEgc2VxdWVuY2UgKHNlcS1yZXN0IHNlcXVlbmNlKSkpCisgICAgKG5y ZXZlcnNlIHJlc3VsdCkpKQorCiAoY2wtZGVmZ2VuZXJpYyBzZXEtZHJvcCAoc2VxdWVuY2UgbikK ICAgIlJlbW92ZSB0aGUgZmlyc3QgTiBlbGVtZW50cyBvZiBTRVFVRU5DRSBhbmQgcmV0dXJuIHRo ZSByZXN1bHRpbmcgc2VxdWVuY2UuCiBUaGUgcmVzdWx0IGlzIGEgc2VxdWVuY2Ugb2YgdGhlIHNh bWUgdHlwZSBhcyBTRVFVRU5DRS4KQEAgLTY3MSw2ICs2ODcsMTUgQEAgc2VxLWRyb3Atd2hpbGUK IChjbC1kZWZtZXRob2Qgc2VxLWVtcHR5LXAgKChsaXN0IGxpc3QpKQogICAiT3B0aW1pemVkIGlt cGxlbWVudGF0aW9uIG9mIGBzZXEtZW1wdHktcCcgZm9yIGxpc3RzLiIKICAgKG51bGwgbGlzdCkp CisKKyhjbC1kZWZtZXRob2Qgc2VxLW1hcHN1YiAoZnVuY3Rpb24gKGxpc3QgbGlzdCkpCisgICJP cHRpbWl6ZWQgaW1wbGVtZW50YXRpb24gb2YgYHNlcS1tYXBzdWInIGZvciBsaXN0cy4iCisgIChs ZXQgKChyZXN1bHQgbmlsKSkKKyAgICAod2hpbGUgbGlzdAorICAgICAgKHB1c2ggKGZ1bmNhbGwg ZnVuY3Rpb24gbGlzdCkKKyAgICAgICAgICAgIHJlc3VsdCkKKyAgICAgIChzZXRxIGxpc3QgKGNk ciBsaXN0KSkpCisgICAgKG5yZXZlcnNlIHJlc3VsdCkpKQogDAogCiAoZGVmdW4gc2VxLS1pbnRv LWxpc3QgKHNlcXVlbmNlKQpkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VtYWNzLWxpc3Avc2VxLXRl c3RzLmVsIGIvdGVzdC9saXNwL2VtYWNzLWxpc3Avc2VxLXRlc3RzLmVsCmluZGV4IDcxZmY5OTFj MjE1Li5mYTZmOWVmYTc2MiAxMDA2NDQKLS0tIGEvdGVzdC9saXNwL2VtYWNzLWxpc3Avc2VxLXRl c3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lbWFjcy1saXNwL3NlcS10ZXN0cy5lbApAQCAtMTIxLDYg KzEyMSwxNiBAQCB0ZXN0LXNlcS1kby1pbmRleGVkCiAgICAgICAoc2hvdWxkIChlcXVhbCAoc2Vx LWVsdCByZXN1bHQgMSkgJyg1IDEpKSkKICAgICAgIChzaG91bGQgKGVxdWFsIChzZXEtZWx0IHJl c3VsdCAyKSAnKDQgMCkpKSkpKQogCisoZXJ0LWRlZnRlc3QgdGVzdC1zZXEtbWFwc3ViICgpCisg IChzaG91bGQgKGVxdWFsIChzZXEtbWFwc3ViICMnaWRlbnRpdHkgWzEgMiAzXSkKKyAgICAgICAg ICAgICAgICAgJyhbMSAyIDNdIFsyIDNdIFszXSkpKQorICAoc2hvdWxkIChlcXVhbCAoc2VxLW1h cHN1YiAjJ2lkZW50aXR5ICcoMSAyIDMpKQorICAgICAgICAgICAgICAgICAnKCgxIDIgMykgKDIg MykgKDMpKSkpCisgIChzaG91bGQgKGVxdWFsIChzZXEtbWFwc3ViICMnaWRlbnRpdHkgbmlsKQor ICAgICAgICAgICAgICAgICBuaWwpKQorICAoc2hvdWxkIChlcXVhbCAoc2VxLW1hcHN1YiAjJ2lk ZW50aXR5IFtdKQorICAgICAgICAgICAgICAgICBuaWwpKSkKKwogKGVydC1kZWZ0ZXN0IHRlc3Qt c2VxLWZpbHRlciAoKQogICAod2l0aC10ZXN0LXNlcXVlbmNlcyAoc2VxICcoNiA3IDggOSAxMCkp CiAgICAgKHNob3VsZCAoZXF1YWwgKHNlcS1maWx0ZXIgIyd0ZXN0LXNlcXVlbmNlcy1ldmVucCBz ZXEpICcoNiA4IDEwKSkpCi0tIAoyLjM0LjEKCg== --b1_x5XJONrxbozzHL5DRQPmyW32AcFP2YgDqVVmGSbqHZM-- From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 01 15:14:41 2023 Received: (at submit) by debbugs.gnu.org; 1 Dec 2023 20:14:41 +0000 Received: from localhost ([127.0.0.1]:56133 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r99uK-0000MY-RC for submit@debbugs.gnu.org; Fri, 01 Dec 2023 15:14:41 -0500 Received: from lists.gnu.org ([2001:470:142::17]:45272) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r99uH-0000M5-Pc for submit@debbugs.gnu.org; Fri, 01 Dec 2023 15:14:39 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r99tz-0003Ff-KC for bug-gnu-emacs@gnu.org; Fri, 01 Dec 2023 15:14:21 -0500 Received: from mail-ej1-x631.google.com ([2a00:1450:4864:20::631]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1r99ty-0003vl-4D for bug-gnu-emacs@gnu.org; Fri, 01 Dec 2023 15:14:19 -0500 Received: by mail-ej1-x631.google.com with SMTP id a640c23a62f3a-a195e0145acso235404166b.2 for ; Fri, 01 Dec 2023 12:14:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701461656; x=1702066456; darn=gnu.org; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:from:to:cc:subject:date:message-id:reply-to; bh=hEMADib7T0f+UZQ3+DtdZ9UY6OllWFXrR7FVSUQSVAo=; b=kgrgRKibtORA+qHk5DJUD/JF4zGsZNhvax8g5I7vLOvwIeEemI9p9ufvgk2/doTVo1 o3RghaGNiIQFeJoLYcXMGY3nurDe2cNCPDrBTC32EU48mHL+xmJSth8dnSOJ700ZbXHV gXHl4eT4p+D0Ux0uPtprMM4PDmxIbJs7V0cuUfEP1XA+GnRZrqDkyIXPSgyb/Qmkfg+j 2nmfUVmWHVBk9c8FugJkjlNyegvBz/YL4dytVzsuwUhj33pqXUlrm0y52gU24Jo4zvJa 53GPx7P21htAYFDjgkMqBOI3UW6P/KA/aNosqLFkPdwGX3Mu28jgUsP/74MX++d1L45I l05w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701461656; x=1702066456; h=mime-version:user-agent:message-id:date:references:in-reply-to :subject:cc:to:from:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=hEMADib7T0f+UZQ3+DtdZ9UY6OllWFXrR7FVSUQSVAo=; b=xK/eLVWyJIZ2q9k8AB3RcSU7K0GHlyEuBCSYHVSMo25fs4FiGfcUSen9epJYRI2Zdn DohaTQ+hs7IXa1WjEjYUnrfZ3C7bV1iD/iJBezMtgd6kRBbIKEJtU5x1ymSoNOf13NuZ ujDprgNMwg94dCuKTJifUQu6Xt1y2nIptHpPRsj2c2CRBGE73YgZtdhAAaqyBbLYAUkz f82tuoR1jOSOMtT1Qzp0/FDOso767NlJAZHdwM332oMSm4j9F7d0YLPdarNxATHuISxG VLUc7aSwL2Ev+oFvNmkPRTtDBBfKZ8VNXm0nAsD2CDd2LmZ44rURsK772Ulhz/Ot12YU a3CA== X-Gm-Message-State: AOJu0YzDK0zIc59a0CT5cm8ynmWEKYt/tSOB8YRwXXl/fEqY2ijyAAo5 xbtlS8Miw2Up10172/zO8vMdub9EgwY= X-Google-Smtp-Source: AGHT+IGRGrv2cnXcGohPSxBHIm8hDFE9vbyL2FRT4hQOnLtGZXy2zckg7KnyNnvNmLVd80oVqfpbCw== X-Received: by 2002:a17:907:511:b0:a19:a19b:4268 with SMTP id wj17-20020a170907051100b00a19a19b4268mr747824ejb.211.1701461655766; Fri, 01 Dec 2023 12:14:15 -0800 (PST) Received: from ars3 ([2a02:8109:8a87:ff00::1fd7]) by smtp.gmail.com with ESMTPSA id f20-20020a1709067f9400b00a121e5d002bsm2280793ejr.174.2023.12.01.12.14.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Dec 2023 12:14:14 -0800 (PST) From: Augusto Stoffel To: Okamsn via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Subject: Re: bug#67456: [PATCH] seq.el: Add functions for mapping over subsequences In-Reply-To: <3f57efba-4258-4c81-8c57-e6bedd19888f@protonmail.com> (Okamsn via's message of "Tue, 28 Nov 2023 01:29:14 +0000") References: <6f6d9f2d-fee9-4d1d-a1e4-8c6ce57a0627@protonmail.com> <3f57efba-4258-4c81-8c57-e6bedd19888f@protonmail.com> Date: Fri, 01 Dec 2023 21:14:13 +0100 Message-ID: <87bkb9y92i.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2a00:1450:4864:20::631; envelope-from=arstoffel@gmail.com; helo=mail-ej1-x631.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit Cc: Okamsn , nicolas@petton.fr, 67456@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) On Tue, 28 Nov 2023 at 01:29, Okamsn via "Bug reports for GNU Emacs, the Swiss army knife of text editors" wrote: > Okamsn wrote: >> Hello, >> >> The attached features work like `cl-maplist` and `cl-mapl`, applying >> functions to a sequence and to the remaining parts of a sequence. For >> example, `(seq-mapsub #'identity [1 2 3])` returns `([1 2 3] [2 3] [3])`. >> >> The patch adds a `seq-mapsub`, `seq-dosub`, and a `seq-doseqsub`, >> similar to `seq-map`, `seq-do`, and `seq-doseq`, respectively. >> >> I was looking for an equivalent for vectors of `cl-maplist`, `cl-mapl`, >> and `cl-loop`'s `for VAR on LIST`, and think that these would be useful >> additions. >> >> To get the sub-sequences, the code uses `seq-rest` and stops when the >> returned sub-sequence is empty according to `seq-empty-p`. This is >> similar to how I would do it for a list, using `cdr` and `null`, but is >> that a good way to do it for arrays and other sequences? >> >> Thank you. > > I've updated the patch to only add the one `seq-mapsub` function, to be > more like `seq-mapn` and `seq-mapcat`, and to add an optimized version > for lists. > > Would you like anything changed? > > Thank you. This operation has quadratic complexity for anything other than regular linked lists. I'm not sure it's a good idea to add it to a generic sequence library... From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 02 20:25:56 2023 Received: (at submit) by debbugs.gnu.org; 3 Dec 2023 01:25:56 +0000 Received: from localhost ([127.0.0.1]:58937 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9bF6-0006a2-0k for submit@debbugs.gnu.org; Sat, 02 Dec 2023 20:25:56 -0500 Received: from lists.gnu.org ([2001:470:142::17]:41178) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r9bF4-0006ZZ-OC for submit@debbugs.gnu.org; Sat, 02 Dec 2023 20:25:55 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r9bEp-00065s-5v for bug-gnu-emacs@gnu.org; Sat, 02 Dec 2023 20:25:39 -0500 Received: from mail-40133.protonmail.ch ([185.70.40.133]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r9bEn-0007Kg-Bi for bug-gnu-emacs@gnu.org; Sat, 02 Dec 2023 20:25:38 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1701566733; x=1701825933; bh=89mfsvPnIv9kvMRnchN/7EgPvy44DG+XEXk86gPuhAM=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=jRFxevqRgGoYNgaxQ3vdmEVFIhRoy3bHv+ZbPcOOv5BDv2H4cJHq/c7S43af9huLz AbXoXGZYY2QY0hHXgs5am4Ysp5cT3jljrfqRqFK9TnRponiBQCZAr6AdBAs2geLPaY TP2AGCh6KSIYVwUbRYnLpPWV+J18Cx5ac+ObyHHvYtImKl/+bNrv1P5kmTiyxvR469 ExgWO7doJmLQ435j0moPcK3PYdoXOOO1UQao8SaOOMLxHGEdU1inTbqu/GkULTxl2a XCbXEjhN8J4Dmn3Gx28zlNLpkHWNqxAaSEipEWwtfWiraouEZYNDH/Zt1ZpvUrViLE U/33YFsJVK6gA== Date: Sun, 03 Dec 2023 01:25:25 +0000 To: Augusto Stoffel , "Okamsn via \"Bug reports for GNU Emacs, the Swiss army knife of text editors\"" From: Okamsn Subject: Re: bug#67456: [PATCH] seq.el: Add functions for mapping over subsequences Message-ID: <4b435881-ee4c-42fd-88bc-fe8438567211@protonmail.com> In-Reply-To: <87bkb9y92i.fsf@gmail.com> References: <6f6d9f2d-fee9-4d1d-a1e4-8c6ce57a0627@protonmail.com> <3f57efba-4258-4c81-8c57-e6bedd19888f@protonmail.com> <87bkb9y92i.fsf@gmail.com> Feedback-ID: 25935600:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.70.40.133; envelope-from=okamsn@protonmail.com; helo=mail-40133.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit Cc: nicolas@petton.fr, 67456@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Augusto Stoffel wrote: > This operation has quadratic complexity for anything other than regular > linked lists. I'm not sure it's a good idea to add it to a generic > sequence library... Thank you for the feedback. Do you know whether there is a better way to implement the idea for=20 arrays? Is there a way to apply a function to a portion of the array=20 without copying the sub-sequences, if that is what you mean? From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 25 15:26:40 2023 Received: (at 67456) by debbugs.gnu.org; 25 Dec 2023 20:26:40 +0000 Received: from localhost ([127.0.0.1]:55439 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rHrX5-000549-Lv for submit@debbugs.gnu.org; Mon, 25 Dec 2023 15:26:39 -0500 Received: from mout01.posteo.de ([185.67.36.65]:49385) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rHrWz-00053n-Tw for 67456@debbugs.gnu.org; Mon, 25 Dec 2023 15:26:37 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 084A0240028 for <67456@debbugs.gnu.org>; Mon, 25 Dec 2023 21:26:20 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1703535981; bh=vRksafUxQl4LABZIf3OC0/JemvqKMokv9Jl2yuo53jM=; h=From:To:Cc:Subject:Autocrypt:OpenPGP:Date:Message-ID:MIME-Version: From; b=FqL5EtVM4XPvAEN16yo5coRMsX5X9goC+pxJ+uFbbCoXwSXSd6BeJ5twok1Wh/nsF 1RKm4I4oL8W5PsKAhfzEz88pioDNB6cI+Qgz6VPE5ons0aZ1WjAz2ArpuHOuc1y+3c zuGZ66D+4jRR05iVfBjkCU0OSBW2oLoo6Nd9/O55uALgBFDkn7F0KEyZ5xZUQA/b5g 9jNazwqlYgTJOCgG0fUg/i7fkwk+w77rfwaNAg7dcTl19cr4a9dKU6wbflzkqlvo0T 7MyDXmAhxJC4O+N74fMYPcxbXleG1OHA+D0x7g96sWNLWbFEoYZJ5stIvakqg8W8Dw SxFaukHT7LD+g== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4SzTvJ13NHz9rxB; Mon, 25 Dec 2023 21:26:20 +0100 (CET) From: Philip Kaludercic To: Okamsn Subject: Re: bug#67456: [PATCH] seq.el: Add functions for mapping over subsequences In-Reply-To: <6f6d9f2d-fee9-4d1d-a1e4-8c6ce57a0627@protonmail.com> (okamsn@protonmail.com's message of "Sun, 26 Nov 2023 17:17:35 +0000") References: <6f6d9f2d-fee9-4d1d-a1e4-8c6ce57a0627@protonmail.com> Autocrypt: addr=philipk@posteo.net; keydata= mDMEZBBQQhYJKwYBBAHaRw8BAQdAHJuofBrfqFh12uQu0Yi7mrl525F28eTmwUDflFNmdui0QlBo aWxpcCBLYWx1ZGVyY2ljIChnZW5lcmF0ZWQgYnkgYXV0b2NyeXB0LmVsKSA8cGhpbGlwa0Bwb3N0 ZW8ubmV0PoiWBBMWCAA+FiEEDg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwMFCQHhM4AFCwkI BwIGFQoJCAsCBBYCAwECHgECF4AACgkQ8xYDWXahwulikAEA77hloUiSrXgFkUVJhlKBpLCHUjA0 mWZ9j9w5d08+jVwBAK6c4iGP7j+/PhbkxaEKa4V3MzIl7zJkcNNjHCXmvFcEuDgEZBBQQhIKKwYB BAGXVQEFAQEHQI5NLiLRjZy3OfSt1dhCmFyn+fN/QKELUYQetiaoe+MMAwEIB4h+BBgWCAAmFiEE Dg7HY17ghYlni8XN8xYDWXahwukFAmQQUEICGwwFCQHhM4AACgkQ8xYDWXahwukm+wEA8cml4JpK NeAu65rg+auKrPOP6TP/4YWRCTIvuYDm0joBALw98AMz7/qMHvSCeU/hw9PL6u6R2EScxtpKnWof z4oM OpenPGP: id=7126E1DE2F0CE35C770BED01F2C3CC513DB89F66; url="https://keys.openpgp.org/vks/v1/by-fingerprint/7126E1DE2F0CE35C770BED01F2C3CC513DB89F66"; preference=signencrypt Date: Mon, 25 Dec 2023 20:26:18 +0000 Message-ID: <87tto6rpud.fsf@posteo.net> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 67456 Cc: nicolas@petton.fr, 67456@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Okamsn writes: > Hello, > > The attached features work like `cl-maplist` and `cl-mapl`, applying > functions to a sequence and to the remaining parts of a sequence. For > example, `(seq-mapsub #'identity [1 2 3])` returns `([1 2 3] [2 3] [3])`. > > The patch adds a `seq-mapsub`, `seq-dosub`, and a `seq-doseqsub`, > similar to `seq-map`, `seq-do`, and `seq-doseq`, respectively. How about adding a custom sequence type, that operates on sub-sequences as elements? --8<---------------cut here---------------start------------->8--- (cl-defstruct (subseq (:constructor seq-make-subseq (seq))) seq) (cl-defmethod seq-elt ((seq subseq) n) (seq-subseq (subseq-seq seq) n (seq-length seq))) (cl-defmethod seq-length ((seq subseq)) (seq-length (subseq-seq seq))) (cl-defmethod seq-do (fn (seq subseq)) (seq-do fn (subseq-seq seq))) ;; etc. --8<---------------cut here---------------end--------------->8--- It might not be that efficient either, but at least it doesn't require more functions. From debbugs-submit-bounces@debbugs.gnu.org Wed Jan 10 12:42:12 2024 Received: (at control) by debbugs.gnu.org; 10 Jan 2024 17:42:12 +0000 Received: from localhost ([127.0.0.1]:42836 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rNcah-0008Bh-Ts for submit@debbugs.gnu.org; Wed, 10 Jan 2024 12:42:12 -0500 Received: from mail-ed1-x533.google.com ([2a00:1450:4864:20::533]:43099) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rNcag-0008BQ-G7 for control@debbugs.gnu.org; Wed, 10 Jan 2024 12:42:10 -0500 Received: by mail-ed1-x533.google.com with SMTP id 4fb4d7f45d1cf-557bfc7f7b4so5562201a12.0 for ; Wed, 10 Jan 2024 09:42:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1704908526; x=1705513326; darn=debbugs.gnu.org; h=to:subject:message-id:date:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=B/hf+MN9sb9VvjYts8k0InOs9pdVokjgm0kYa1bsFlI=; b=X7jR6qW7s/A++6yk1lV+KNTH+gfBlVrFLbI/i9ttKcfbi8+gyoxhzjek8xByl2iWJV oeoT6BG1x+hRGgBh/4tD8zxxyxJtNF0IOxtO/t2fUPog7elMD3Grru7Cxn5p+P4ZpVew 6onTClUIcEZlPG1WqGLP+k2FYEyeMd/3FBuI6TxG/MeWuihSUEMKVaMG8lxWVEsq/oUQ z4jzS9MBhvK0hCerN1Q8+txUtzflcQQDDD5Z4/R/9uDawuP1aCi1ajh/tTBlMcVx+8iZ bmuwUKVLftWmsCFPypspWtUbtc4GLAtSgmYBKsMcUDAS2qOULpGcoW9aM8o2Xlo9oOIM 3JLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704908526; x=1705513326; h=to:subject:message-id:date:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=B/hf+MN9sb9VvjYts8k0InOs9pdVokjgm0kYa1bsFlI=; b=lwA6QbYC7TOJV+hKEiR8SudNBd5+HOI9iF/t8/uvdYcDZQbumr8GmyaWD4ZSyxeoKX E8Hut6pOocIdjZ95IzMPjtXBsVccpvDiEZIFA+YXg0QtyiZ94VziqHz1cpTXNJzKEjTG VPOi4DuQ4KGu1YBnhwzJ8ThQPdKeSWg0ui6+d5K9ZDzLnetk1/SBuwV0HQ70ht+g/6MQ OuBFbYTvF/mb2mB3hVWV0sxNUXL+PZVrODbFCSJxKz0GfhY99VUbz10QbzFHeS2zZtes 65fwie/oFg74NKzPOGqk2pe34CbYXk0g05VkQ+O4F59uzC+XwY9iaAWD4GiCxbqZfRRq JmpQ== X-Gm-Message-State: AOJu0Yz/DJ1tU9qC81+bsTZ6vKJIM+e7t41F7VTDVGLezn1rWk3exRkk lV9LO6DLTYuS2QpkRe6+I8IgFWyO9eKDNd0csptGlP07els8rA== X-Google-Smtp-Source: AGHT+IHgthEm258Dcelfh5C32PciuCpyCB30UiLzqYv6jdRDGB460kuybAMgwwvx6CpR9QWGKz0dCKObvaI1xGipPK4= X-Received: by 2002:aa7:c50d:0:b0:557:3cbb:8f52 with SMTP id o13-20020aa7c50d000000b005573cbb8f52mr443906edq.19.1704908526063; Wed, 10 Jan 2024 09:42:06 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Wed, 10 Jan 2024 09:42:05 -0800 From: Stefan Kangas MIME-Version: 1.0 Date: Wed, 10 Jan 2024 09:42:05 -0800 Message-ID: Subject: control message for bug #67456 To: control@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) severity 67456 wishlist quit From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 22 20:04:30 2025 Received: (at 67456) by debbugs.gnu.org; 23 Feb 2025 01:04:30 +0000 Received: from localhost ([127.0.0.1]:58108 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tm0Q2-000477-5Q for submit@debbugs.gnu.org; Sat, 22 Feb 2025 20:04:30 -0500 Received: from mail-ed1-x536.google.com ([2a00:1450:4864:20::536]:44101) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tm0Q0-00046o-DM for 67456@debbugs.gnu.org; Sat, 22 Feb 2025 20:04:29 -0500 Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-5e095d47a25so6272127a12.0 for <67456@debbugs.gnu.org>; Sat, 22 Feb 2025 17:04:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740272662; x=1740877462; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:from:to:cc:subject:date:message-id:reply-to; bh=GAKzH1MDx/SazL40h53Bm10fqyeJuWmGNyomrplBZpM=; b=c5PUnRGoP1PXRYAQkXVW+8PsNiJmn57IUDBP22Bvafg5TXnXgoUBnOGPw+YQAsWc+f JS4/8KxyPUVmTcdutSs7d593SW3rjda6L2070NskHzsgBKIYOuFDSpYZp1ZNNdGptZbM ga0pGJDgeee2CM2TittEk7LiX7TAjuzWYH3SkMG1ZMe/EfieT9cYhC95RyWWjfQw75Z+ 7NxWX4p3o2xG5mogit0DC8O0/J13Z5tN5l2u1AItAnR784wzk+I3Yrqhh6TDwSx3tpyb ACRVoWkjgb65+3kNNDj6VlKuS0vzfTvSAuQSs/bPS6a6ml6EHm5ug0Ua6YeENJ3mCj5A 9jdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740272662; x=1740877462; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=GAKzH1MDx/SazL40h53Bm10fqyeJuWmGNyomrplBZpM=; b=hdNbbizUMXtJrmhDgTP1oLeX4I6R2bZYf5fYWLjLB4bBFkHzA38brRSll1gTJoLmsG BHgLtlXrR0VufOLXYdZnzrR6oR22L5adoSGcD0nWK/gtIulxuFkOnmg+EmYmMvOSTFKG QBTzYvNq7SXfUG0mR+BZ7dE1WQQX+g7IAWtyUlk5eKTjAiIIWBtF1snc1kzsvfS90wdk OHoUmXAV33IyV9na6vmVWH/JtYf0KWe6ZxDUQhYo9+xA3wqof4Pmc8/4YB/r13Uzfz6s p5hFoNEVk5dgKg81nMHczmb4OwM7RwuM8FQTBDlXc29Zk4f1vMzHV7Inx22oRuFoUUGG 0JdQ== X-Forwarded-Encrypted: i=1; AJvYcCUUFSXG6eAG/T32a5hDLANoEq25a2MGPgh/P33IXuhGbgi8xbr8FdsU0WwzQaMB6256Si+QLw==@debbugs.gnu.org X-Gm-Message-State: AOJu0YwvNLxMMJRX6QPRUKoKtlhBEHR48VEtXQOmz2pbMiosA9JM1uya WRDWRaCTDKYRQslEMTR+KPNZQ4yvcRKNtcEK7VsHpF9mv1eMWdBsQdQtMnrMUgr2qSLtsWwPeSC eqSsxCvX86yYsl+29AnQh/KT+rg8= X-Gm-Gg: ASbGncuxFKcPbNGZcsrUxd+myKkgQyhDjZ00Wbbv+Xi9qUiwNonTlMh6+AI4ZTPtd+F 4dwI+hhPE8LQfshggKBVZTurqJ+S4xMXEWVS2J3/J7vVaoPkh7AtzhXwzGZzW0nXW9xwx2XIFDV qQfybH+IEd X-Google-Smtp-Source: AGHT+IEKxNKcXjlibKuS4/WISfm+OQs7jxJJgtr2mAw1DjgPz9VZCWauZTuhV8PfFmPlzaokQ5caw0aY9OVE4FSz5Fw= X-Received: by 2002:a05:6402:4491:b0:5e0:445f:9576 with SMTP id 4fb4d7f45d1cf-5e0b71045b7mr8553625a12.18.1740272662044; Sat, 22 Feb 2025 17:04:22 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sun, 23 Feb 2025 01:04:21 +0000 From: Stefan Kangas In-Reply-To: <4b435881-ee4c-42fd-88bc-fe8438567211@protonmail.com> References: <6f6d9f2d-fee9-4d1d-a1e4-8c6ce57a0627@protonmail.com> <3f57efba-4258-4c81-8c57-e6bedd19888f@protonmail.com> <87bkb9y92i.fsf@gmail.com> <4b435881-ee4c-42fd-88bc-fe8438567211@protonmail.com> MIME-Version: 1.0 Date: Sun, 23 Feb 2025 01:04:21 +0000 X-Gm-Features: AWEUYZnOQ77kDYzszeXmoFNagQdvLS400uZZh1UD20VZa4Fgy9sLdkT2-tyX9Ts Message-ID: Subject: Re: bug#67456: [PATCH] seq.el: Add functions for mapping over subsequences To: Okamsn Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 67456 Cc: nicolas@petton.fr, arstoffel@gmail.com, 67456@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Okamsn writes: > Augusto Stoffel wrote: >> This operation has quadratic complexity for anything other than regular >> linked lists. I'm not sure it's a good idea to add it to a generic >> sequence library... > > > Thank you for the feedback. > > Do you know whether there is a better way to implement the idea for > arrays? Is there a way to apply a function to a portion of the array > without copying the sub-sequences, if that is what you mean? Hmm, it seems like this issue got stuck due to problems with algorithmic complexity. Performance is a real issue in seq.el, so I think we should solve that before we consider installing anything. Are you still working on this? From debbugs-submit-bounces@debbugs.gnu.org Sat Feb 22 20:04:37 2025 Received: (at control) by debbugs.gnu.org; 23 Feb 2025 01:04:37 +0000 Received: from localhost ([127.0.0.1]:58111 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tm0Q8-00047a-Mr for submit@debbugs.gnu.org; Sat, 22 Feb 2025 20:04:36 -0500 Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]:42459) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tm0Q6-000470-Rq for control@debbugs.gnu.org; Sat, 22 Feb 2025 20:04:35 -0500 Received: by mail-ed1-x529.google.com with SMTP id 4fb4d7f45d1cf-5debbced002so6108984a12.1 for ; Sat, 22 Feb 2025 17:04:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740272669; x=1740877469; darn=debbugs.gnu.org; h=to:subject:message-id:date:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=T6GTQzVxmxlKOEGA7DCiSLAqOHIf5Fs5BjRD171Fq+U=; b=WalR9r5yRTwzkkkRqBVLnmGqK3TfUFQJa/7bmejbWhA9KKdnPGFShujXt3P+3bsfxk s4dhVVg9EVLGffTVBfmxf/QOfxHcTxVpQZv3tlkANq/7a6iGN8NFImqIzcMpz1suI8DL WommduYG5iX4i8WFeBhfzvL+KWA8guxEU5Yc9s+RA7e1odXJQzUWLHzJJ1MuUYVCcwsu bNnStaP5R5MorX6LxqirWg6tx+n4dFazh5jcjFvpeZDngWdwV2mr99WLQuEv30vHK0rb wEOeF2kFme+9bSmN5yXNwTBe8CJICSd4KD0PcmKdOPovP62NICD+NXgfkE5fzPEDTWiK WXhg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740272669; x=1740877469; h=to:subject:message-id:date:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=T6GTQzVxmxlKOEGA7DCiSLAqOHIf5Fs5BjRD171Fq+U=; b=OSEqfa5GnEFRUFLzaiXfFIm2j/YGQPZgNhnYbUqqjWKi3LtNLe4ry9FUyqjJgyg5w6 6EOcAXc88W6Dn9aovSUrlnoAZQXkqLN9oWDDkvcgkvxmfna8dg/FRSNAEWCK/gVmxmj+ wONho+4CdliEVvc+YzbSbsdlqmLclcxrU0ZgP7REokCxbwh40MI+LkYQql9E0Fq4+Vny QdcXFYi/uzj2sF8TDFQRFjY+BtNT+NImaz/Au2u0RSym+XpQtGn7U/7OSb+D4ROKn3UQ glfnlV+ST75ZpO2k2xSJGJq0Y/fBgRsJ7AtzHBNLmjVZAQ2aetOTBNZdQY6gxfFiZlZb DgIw== X-Gm-Message-State: AOJu0YxqTC+f9xDBk3FbREvxG2sknV/i4EFukfUxTHn3t7LiI8sL8973 7a9YGlk9oLDvaAGsNPsRFFWHzyXTeZD2fHyklsWxGXXsPx1ofp0ckn++UAlkfk/Xkg2rBdKtgan xXm++8XDa63QwyvRMClAsLsOGecR8OGun35LC3g== X-Gm-Gg: ASbGncvyxx5VFo+gI5WLWnv+yfhmU4DfBdcqImMvhqQS/c9X+Ic8r+ShXsNqJvoidhA 9Bbuvh8DjMtCM1sh+pm2W/G5CsQbBtU3VsxtaPSe0Avjfk9zlhfNhSlm+iG9hoL192tqQ9syo5S EhUd1FEnVJ X-Google-Smtp-Source: AGHT+IGNyWWcY8hUzupBSKEw17i/2cUx821O/gCgXiGg43bVdBXuWm2gccexUp9RvF7wL4LA+IcTSROYV65M5Ed4Qzk= X-Received: by 2002:a05:6402:27cc:b0:5e0:752a:1c7c with SMTP id 4fb4d7f45d1cf-5e0a11fff09mr11503369a12.1.1740272668686; Sat, 22 Feb 2025 17:04:28 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sun, 23 Feb 2025 01:04:28 +0000 From: Stefan Kangas MIME-Version: 1.0 Date: Sun, 23 Feb 2025 01:04:28 +0000 X-Gm-Features: AWEUYZkgzmMmbTKmpeZrnG9RJPJN7HcnG3ILt20aYTJ4o9vOOhHKS7OMzscEJ5A Message-ID: Subject: control message for bug #67456 To: control@debbugs.gnu.org Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) tags 67456 + moreinfo quit From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 24 21:16:15 2025 Received: (at 67456) by debbugs.gnu.org; 25 Feb 2025 02:16:15 +0000 Received: from localhost ([127.0.0.1]:43814 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tmkUZ-0000LQ-DG for submit@debbugs.gnu.org; Mon, 24 Feb 2025 21:16:15 -0500 Received: from mail-4322.protonmail.ch ([185.70.43.22]:57117) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1tmkUW-0000L7-2v for 67456@debbugs.gnu.org; Mon, 24 Feb 2025 21:16:13 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1740449765; x=1740708965; bh=oH8qXwzTO7xf0j2c5PyKTTm9pil3goK6xpMwELZ0Nc8=; h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector:List-Unsubscribe:List-Unsubscribe-Post; b=gvwcbNBnXRyXrmhLbEZUV4rXGA8ADHd6DUEa6psf9Eo8HrekopnbnVgQCitu5KqLM QaRBkIo4Bss9y5EOScwAzBCvTljKqx6blitr+O/NfeyE7mm1B96a2R75Kwol9CKw8c CC523fswe6HXUzrQQ63uPXbqe5EVjACx3cL3K2yXj9CBIkI6tvBmrT6B64G1Nw45uE IVPZEqePdivK8MYzjcSJcHT5TWmhh67Y/iqRqnCNALe0njj4nsT5hrsgY0SJ7dVZiG vYfmenJA4I1twvHO5XT9R57cigjvJrfgITM+vuxbVTT1q2DAnelqLtFFOYwwacQP1U Pz6OKMJgWtUyw== Date: Tue, 25 Feb 2025 02:16:01 +0000 To: Stefan Kangas From: Okamsn Subject: Re: bug#67456: [PATCH] seq.el: Add functions for mapping over subsequences Message-ID: <5c3814d1-3059-4236-87f5-bc6f1ef98888@protonmail.com> In-Reply-To: References: <6f6d9f2d-fee9-4d1d-a1e4-8c6ce57a0627@protonmail.com> <3f57efba-4258-4c81-8c57-e6bedd19888f@protonmail.com> <87bkb9y92i.fsf@gmail.com> <4b435881-ee4c-42fd-88bc-fe8438567211@protonmail.com> Feedback-ID: 25935600:user:proton X-Pm-Message-ID: 38847845f08e482597865e68cbbb0d9f49e72c08 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 67456 Cc: nicolas@petton.fr, arstoffel@gmail.com, 67456@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Stefan Kangas wrote: > Okamsn writes: >=20 >> Augusto Stoffel wrote: >>> This operation has quadratic complexity for anything other than regular >>> linked lists. I'm not sure it's a good idea to add it to a generic >>> sequence library... >> >> >> Thank you for the feedback. >> >> Do you know whether there is a better way to implement the idea for >> arrays? Is there a way to apply a function to a portion of the array >> without copying the sub-sequences, if that is what you mean? >=20 > Hmm, it seems like this issue got stuck due to problems with algorithmic > complexity. Performance is a real issue in seq.el, so I think we should > solve that before we consider installing anything. >=20 > Are you still working on this? I am no longer working on this. For some things, I opted to use the=20 Stream package from ELPA, which now better supports arrays. Although it=20 has the same problem when first traversing a seq.el sequence, it avoids=20 recreating things for the sub-sequence. I am fine with this bug being closed. From debbugs-submit-bounces@debbugs.gnu.org Mon Feb 24 21:39:42 2025 Received: (at 67456-done) by debbugs.gnu.org; 25 Feb 2025 02:39:42 +0000 Received: from localhost ([127.0.0.1]:43841 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tmkrG-0001QX-4c for submit@debbugs.gnu.org; Mon, 24 Feb 2025 21:39:42 -0500 Received: from mail-ed1-x529.google.com ([2a00:1450:4864:20::529]:59763) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tmkrD-0001QI-Ai for 67456-done@debbugs.gnu.org; Mon, 24 Feb 2025 21:39:40 -0500 Received: by mail-ed1-x529.google.com with SMTP id 4fb4d7f45d1cf-5ded51d31f1so9013180a12.3 for <67456-done@debbugs.gnu.org>; Mon, 24 Feb 2025 18:39:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740451173; x=1741055973; darn=debbugs.gnu.org; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:from:to:cc:subject:date:message-id:reply-to; bh=Jg58HCWeUJTOgMw1ABTtsT0itbCnCAWTbSSdO6CQYgU=; b=iL3o5hET2hTBGmy2KvqLZz+GLh+VqDAKuJVhw3Ijx3iN03Sgksp25fkXRnhfMRKb8x 6bLYxIackoIbjNmudphe6Bcjn12GEpZDJHwz+hBGlfoiwpxnEYQFnzthrNmgMgPsY/rb cqNGBOsO6w1hJWqgdYPwOmvV/0kY+2UkGPNTGKdZ+s1q64Jgyg/ABhpo8eNlB0pYu9Mv qTnPpuxg1eJpOhZVsJKYfta+dgE6Wf0HhcS5xRMoHxCcDy9elT0wU30NhusTgtGmgtei 3uw8+P6xgBJjyoNElve3GYm8/EqrWYtZaDfIlkdVOULKr07E/my6KmdKxNwcmvaTyZ0m Edvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740451173; x=1741055973; h=cc:to:subject:message-id:date:mime-version:references:in-reply-to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Jg58HCWeUJTOgMw1ABTtsT0itbCnCAWTbSSdO6CQYgU=; b=QuqgoSyBXvPaLuMsrbpmwQwAbCytyPwubxjBDIv+KibBzGd3fj1HfDwMAEUD+so4gI 5PO7i6/ozzv2Tju08/Jo3hN+r6drk7sFTLEnaJ1eCUdWqclN8NvE7mh+6WIo/d+uoesG c78m/d6zbHb8lO+aLZ8NNmiyP80QmIV/SBKggrvcTo273HyPfajBvQLlNDbMTJEBG7xi UkFgyNORkLwMrAV6ALJJ7XADoYRcwfFU2I4JhrlN3opRpH5AQkp+gYxApUNnxoFLT/2k gCu7sC8aQV2Re0AiM5cBkV1tBasbWIc/TdhxM1jkUWs8PgRWk91AapQgada+mrkeOGN3 XZDg== X-Forwarded-Encrypted: i=1; AJvYcCXp/ES1X7shvJGatrr9K3XgZGCkaCBZgYCaw1urIpwjgN3WrpEThTnB7Ypiqp7uF6THdSKCxNs1ovCL@debbugs.gnu.org X-Gm-Message-State: AOJu0YzlgWDugcJOY9tfgZ5rCQwSMuRfkqpA2nct5yGSKmdF+DIlvc4X Q5JV7cwV9A5BW4QOY6C//QJfJLXzu3N1lQ6b5m1tQhXWvPFwCFUGseqllXWFheTscr9DcMkCbpb V0f7drHDMW7TPUXaMUd+pszWBl8M= X-Gm-Gg: ASbGncsYf+l31bNZDsIRnCE2Bw8Y7ti/EkAsh6yFHLEBCmJtKfI5YAP6+ubSfbKIfSY jCsftSRtELxacvK79Kvlny/oL1ftjpkgiZ0JYcfbXMxWQj6UbDnWsWrPzNcep7zbZj3ghosyq4p rdpe/ZgPH0 X-Google-Smtp-Source: AGHT+IFiLQGi6kVpCEosmwELNF074yquhmckNTJ1WaUzMloX4AdViL2xrmm6mjEtkNjceJT/sigeHsqVk6ufT5PdZnY= X-Received: by 2002:a05:6402:35c9:b0:5dc:81b3:5e1a with SMTP id 4fb4d7f45d1cf-5e0b70b5fb0mr15702311a12.7.1740451172798; Mon, 24 Feb 2025 18:39:32 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Mon, 24 Feb 2025 20:39:31 -0600 From: Stefan Kangas In-Reply-To: <5c3814d1-3059-4236-87f5-bc6f1ef98888@protonmail.com> References: <6f6d9f2d-fee9-4d1d-a1e4-8c6ce57a0627@protonmail.com> <3f57efba-4258-4c81-8c57-e6bedd19888f@protonmail.com> <87bkb9y92i.fsf@gmail.com> <4b435881-ee4c-42fd-88bc-fe8438567211@protonmail.com> <5c3814d1-3059-4236-87f5-bc6f1ef98888@protonmail.com> MIME-Version: 1.0 Date: Mon, 24 Feb 2025 20:39:31 -0600 X-Gm-Features: AWEUYZlRLKFsB6-hFRtHc519u2s6O1KKHPHESqFWSUi9wLtNwpxnNOwGG8-84ig Message-ID: Subject: Re: bug#67456: [PATCH] seq.el: Add functions for mapping over subsequences To: Okamsn Content-Type: text/plain; charset="UTF-8" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 67456-done Cc: nicolas@petton.fr, arstoffel@gmail.com, 67456-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Okamsn writes: > Stefan Kangas wrote: >> Okamsn writes: >> >>> Augusto Stoffel wrote: >>>> This operation has quadratic complexity for anything other than regular >>>> linked lists. I'm not sure it's a good idea to add it to a generic >>>> sequence library... >>> >>> >>> Thank you for the feedback. >>> >>> Do you know whether there is a better way to implement the idea for >>> arrays? Is there a way to apply a function to a portion of the array >>> without copying the sub-sequences, if that is what you mean? >> >> Hmm, it seems like this issue got stuck due to problems with algorithmic >> complexity. Performance is a real issue in seq.el, so I think we should >> solve that before we consider installing anything. >> >> Are you still working on this? > > I am no longer working on this. For some things, I opted to use the > Stream package from ELPA, which now better supports arrays. Although it > has the same problem when first traversing a seq.el sequence, it avoids > recreating things for the sub-sequence. > > I am fine with this bug being closed. Thanks, I guess that means that it's unlikely that we'll make more progress here. I'm therefore closing this bug report. From unknown Wed Jun 18 23:18:09 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 25 Mar 2025 11:24:16 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator