From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Michael Heerdegen via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#73431: Add `setf` support for `stream.el` in ELPA Date: Tue, 01 Oct 2024 00:19:32 +0200 Message-ID: <87y138hjij.fsf@web.de> References: <827cc7fc-10be-4b93-bd67-f275193e5d84@protonmail.com> <87o74bqy9g.fsf@posteo.net> <87jzexqgg8.fsf@posteo.net> <87tte0q2qc.fsf@posteo.net> <068ecfc3-b452-49a8-89bb-f42012aea5d4@protonmail.com> <6caa1395-a3b2-4e70-b905-1cbfee0f92bd@protonmail.com> Reply-To: Michael Heerdegen Mime-Version: 1.0 Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="13858"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: okamsn@protonmail.com, philipk@posteo.net, nicolas@petton.fr, monnier@iro.umontreal.ca To: 73431@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Oct 01 00:20:19 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1svOkd-0003TI-AZ for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 01 Oct 2024 00:20:19 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1svOjs-0005ZN-HU; Mon, 30 Sep 2024 18:19:32 -0400 Original-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 1svOjq-0005Z2-QC for bug-gnu-emacs@gnu.org; Mon, 30 Sep 2024 18:19:30 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1svOjq-0003QF-Hu for bug-gnu-emacs@gnu.org; Mon, 30 Sep 2024 18:19:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:Date:References:In-Reply-To:From:To:Subject; bh=SzFAo4WxaVtHCdiMqR04wyX4xN7rxwgAZQM4pPV7kHE=; b=FcAL50JzRm/jFWN9+jvvgyCO7GmDs5m2W1w+/3q0C6Ae25DX2NMfYiT15NPWzEbnXtSLWcLN0OPve42HeWL0iUi2qHUNYDGz0iPQImMBgNENvWmcIx9voeagz0T/N3eM/ej+lO43RNydTjhlzThHHfc/H5+rFf4EIlIhXgklMZf+7D0ma7cxmHn/333T39l3C9bPThwOmd3+1/SNEwmzci1WkpKfa7gH10kspDXs+7qbWRsFqwx8lrjzLvsr4gAvdcNDDFN+moynvfOXUras8SYJsyWSK2q+NFD+s5pKtQyVAImWQ9QYIjFhndnDifoscEemqYqE42NBc/BLTkMCNw==; Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1svOkM-0005V5-9P for bug-gnu-emacs@gnu.org; Mon, 30 Sep 2024 18:20:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Michael Heerdegen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 30 Sep 2024 22:20:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73431 X-GNU-PR-Package: emacs X-Debbugs-Original-To: Okamsn via "Bug reports for GNU Emacs, the Swiss army knife of text editors" X-Debbugs-Original-Cc: Okamsn , Philip Kaludercic , Nicolas Petton , Stefan Monnier , 73431@debbugs.gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.172773478421114 (code B ref -1); Mon, 30 Sep 2024 22:20:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 30 Sep 2024 22:19:44 +0000 Original-Received: from localhost ([127.0.0.1]:47466 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1svOk3-0005UU-OD for submit@debbugs.gnu.org; Mon, 30 Sep 2024 18:19:44 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:41496) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1svOk0-0005UO-O5 for submit@debbugs.gnu.org; Mon, 30 Sep 2024 18:19:41 -0400 Original-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 1svOjT-00051u-5U for bug-gnu-emacs@gnu.org; Mon, 30 Sep 2024 18:19:07 -0400 Original-Received: from mout.web.de ([212.227.15.14]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1svOjR-0003N2-AR for bug-gnu-emacs@gnu.org; Mon, 30 Sep 2024 18:19:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=web.de; s=s29768273; t=1727734716; x=1728339516; i=michael_heerdegen@web.de; bh=SzFAo4WxaVtHCdiMqR04wyX4xN7rxwgAZQM4pPV7kHE=; h=X-UI-Sender-Class:From:To:Cc:Subject:In-Reply-To:References:Date: Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:cc: content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=D6z37Tx0Es9zW8+V9MurQoR9rgOl8YDrJRtoSIHvjpaGeVXC9c8VlwbNqOuSdNG8 NNnjcQJtQzNdQEb7ijxpDWcWxy+Hhkp7RTGW0JQopCU5NzYvry2+vQAaDOxh/njC8 SmAL5oCLjREGZs+AF23vBKZfRysXznapiWmiaTaPI+PBU5IAw0mT/J1LPfqrX/plK xCpzaJXg34AgHDcd3YWT7Kxgvj3i+DOy0rjV1pglbuMwNkYiTmc3nxGN56SJMF7GM J5h/9RyaNioqYjQIc+HkAEj/1ZaF8/NkGv9T0l+CGSfx+Hjagcx0f8EXQcp71ail7 gAGLjaD4HYBRdeRA/w== X-UI-Sender-Class: 814a7b36-bfc1-4dae-8640-3722d8ec6cd6 Original-Received: from drachen.dragon ([92.75.138.227]) by smtp.web.de (mrweb005 [213.165.67.108]) with ESMTPSA (Nemesis) id 1N5lnT-1roZTL33bH-017i3U; Tue, 01 Oct 2024 00:18:36 +0200 In-Reply-To: <6caa1395-a3b2-4e70-b905-1cbfee0f92bd@protonmail.com> (Okamsn via's message of "Sun, 29 Sep 2024 19:30:42 +0000") X-Provags-ID: V03:K1:QD4mDXZqiev+5bPBcgomDYYcMJXjeccCBOmMa1hrHVfwIGZGW4v Gj+gyVxLuIIzmEyZYcl+FUSIdaN9yvl8FbUaOcU2QcEVKerBBPsIG1Q+t8qR0HbhDjw7Dlf ajiV3e2pNxXN4OQwbALiKC2yY7om6lGHIDcgX/glp7F5y9+VwLodABi/sEvKn5it/Iucfpy oYOV8IIuHqkolCLO1Ea2w== UI-OutboundReport: notjunk:1;M01:P0:k1G6jkVkqJ8=;CsBeOEjK3OCpoOKcMqZuiAaWULv jlfcyduOSIQelb2UE2cx1vDC4h9rhvzoK1aCHVooLAb6dxXZ9Rs0LI08AMrfm57GpbDbAA2Zk L9sTCjBq+I91Bvp7V7ik5z2viz2j11Pemu2BThMKtf/nQnFdAo4C3++h55M2Q3DV+rHa2R49/ 2zY3qf7sl1pwkVTF62RGz1n1CzTy7sLjS6vgCSxmxj+LbCdH9XzqIq6/tJq55+doKqfZlewls eDfUeIzR5bdnbeTPNBd8acVJpPpu9ge/SigpTPzfhUVe6ttJPRwn92Oc+S5yxgzd07QVlVzyv Drxg5J8BYvgY6U+RW5RLQT8cBpPHks/a5SaxzrjGobC4tVxvrBKTIcUcjOgRtR9+aUPfx+0Z8 +1RJOxmDZ5uDFwBYBfXoXStGPJwur48KTr5XxA+UUhJvumBDBdADD+KQ8Kb7AfZS7PNPtqnFB sN3XwK6o3ZRGbSYm9CGFylCN+Yc7eh2DbnaIgnK7g/Qe2JhQW8GXaAUITp5SAIdAqZviTMtOn L+7cosRhxb3PZkdJC6sFrAdQXc3vJDgM4kNwJkX1eeKRygaeL6EbraCqLj4kXNclOHLnXF8+m inTfKGkOzSCK/Puld4PkSjCSGG9YCZIN6U4ADD7twcU3Q+YAYIgGYrOVBVbIQ0fukHeqKn++L mTUDyK+TUO8E+CMLIWp4+wxfAHBpUJe7K8RjZDk5RBvjJdAg1bAVfxFAeaMC5yC/F77bqb7+U WHgYaJ9U5i8iD/iYTT7dRE5uVvjJQKzf+6FHQs60h+MMFi6ube47kYHnj4McB2ZFY1C5xhIp Received-SPF: pass client-ip=212.227.15.14; envelope-from=michael_heerdegen@web.de; helo=mout.web.de X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:292742 Archived-At: Okamsn via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: > Please see the attached file. It changes streams to be structs, warns > that streams are not mutable, adds a creation method for arrays that > doesn't create intermediate sub-arrays, and adds some methods for > streams for more of the seq.el functions. Thank you for working on this. > * stream.el (stream): Define the structure using 'cl-defstruct'. Does changing the internal representation of streams have an effect on the speed of the run code? > * stream.el (seq-sort, seq-reverse, seq-concatenate, seq-remove-at-posit= ion): > Add methods that did not work as expected with the generic implementatio= n. I don't like these, apart from seq-concatenate. That we have a unified interface for different types of seqs doesn't mean we must implement every functionality for every type - we can limit to those where it makes sense. If you have to translate the complete stream into an intermediate seq type to implement a feature (like sorting) hints at that it might not make sense. And I think indeed: if you need to sort any data than you probably should not use streams to represent them at all. In the rare cases where this really makes sense conceptually it is even better to do the translation into a different seq type explicitly. Converting the result back into a delayed list makes hardly sense. This is inefficient and leads to bad style. Michael.