From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?UTF-8?B?Sm/Do28gVMOhdm9yYQ==?= Newsgroups: gmane.emacs.devel Subject: Re: [External] : Re: What's missing in ELisp that makes people want to use cl-lib? Date: Sun, 12 Nov 2023 19:58:54 +0000 Message-ID: References: <87bkcbrgnr.fsf@posteo.net> <25924.21015.19614.951576@orion.rgrjr.com> <87bkc4jpja.fsf@dataswamp.org> <12da6bcb-1818-7fbe-12af-8d4607724332@gutov.dev> <87il6bt4z0.fsf@yahoo.com> <8734xetjkk.fsf@yahoo.com> <87cywhsrcf.fsf@yahoo.com> <87cywgx1z0.fsf@web.de> <83wmuowwp3.fsf@gnu.org> <87cywfo2d6.fsf@web.de> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="13289"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Michael Heerdegen , "emacs-devel@gnu.org" To: Drew Adams Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Nov 12 20:56:53 2023 Return-path: Envelope-to: ged-emacs-devel@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 1r2GZg-0003DS-94 for ged-emacs-devel@m.gmane-mx.org; Sun, 12 Nov 2023 20:56:52 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r2GYw-00032K-Ch; Sun, 12 Nov 2023 14:56:06 -0500 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 1r2GYu-000329-RR for emacs-devel@gnu.org; Sun, 12 Nov 2023 14:56:04 -0500 Original-Received: from mail-lf1-x135.google.com ([2a00:1450:4864:20::135]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1r2GYs-0002nF-W2 for emacs-devel@gnu.org; Sun, 12 Nov 2023 14:56:04 -0500 Original-Received: by mail-lf1-x135.google.com with SMTP id 2adb3069b0e04-507a0907896so5111755e87.2 for ; Sun, 12 Nov 2023 11:56:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699818960; x=1700423760; darn=gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ZaL5va1NC3eXEofRK/6/1oQ2PIdNWBaOzC3imv54Szg=; b=Q8SBB+QzzcJRN3grafCGt1UyEk6CocZwf2Oc1h8B06M23cPASEqd3Z+m3FcqBHJeqn Cgu9DQOxkOwzl4KEKSxAJ/DV4pyJzLdDL4cQWL3zIr8ym0CQKf69eBPIIlgoa6xDfksr 1IG61fzHIJKlRU6W1g7bIkiSd7WKweN3N4Q/91Qo+5EvyYLwa4gDGth4RB2JbvlhJdYr iVJjSjldJGV9DW+nCEBzOARB8TCF08nvQjEhqHEeiwI/j70vfOFvWtbGxSh17C3NPcvd rlqtxLV1Y0nIbM9EcMYxD3MOmeNf5B/1TdkxvcNZTaXU6NHez+lojhugsGhQydY/EpEM 3tfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699818960; x=1700423760; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZaL5va1NC3eXEofRK/6/1oQ2PIdNWBaOzC3imv54Szg=; b=S2v5UQciqv5Z8jqQ0dzCKBT//PFGHpo1dU69WNGhcb3YVFHGajC3tPQERJ2Y424j+K ckB/IEYGjqDguej9AcQidZ6eL5oUMAAzLJ2+nhDgRovkatraW2/Zmhot9N++2zeYCD0N aSbdJ7mTVl0JCjKdc+H7VP/oV0LYaaqLOZfQBj3QLcQtiHVa4eSWimCAzsli3n9ltPpC K6ITF520ARsftfKYP7vs+o7MX6TWR4DgVlBSLCnUzULMN211/8nQ8MAZEZVRPrRJ/Ysu 5Nglj1Jgl/D0/yfs1gq5V3QpKlFdpE4e+wlMD9z1exvAZy5ljROa8QdrgraW199K7OR9 D0XA== X-Gm-Message-State: AOJu0Yy2kclqrijZYZOMcn8pW/37dcUzjF+sUFAsD+L5tfH7E5AlrGXM i19OW014rFzu13xcDWEJ5KeQkr+vMZFWZCkTzts= X-Google-Smtp-Source: AGHT+IEpNuDKwQGxe9nwOO8y2WyfwtYT7uPJt5qn6T6wVfJ414Cajx9BBa3wyWZRC5G4fHeF7ZUUWbSdXNhP4NkvLPM= X-Received: by 2002:a05:6512:210:b0:509:8a34:830f with SMTP id a16-20020a056512021000b005098a34830fmr2900784lfo.36.1699818960070; Sun, 12 Nov 2023 11:56:00 -0800 (PST) In-Reply-To: Received-SPF: pass client-ip=2a00:1450:4864:20::135; envelope-from=joaotavora@gmail.com; helo=mail-lf1-x135.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-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:312663 Archived-At: On Sun, Nov 12, 2023 at 7:48=E2=80=AFPM Drew Adams = wrote: > > > > Also, I know you don't like cl-loop but in terms of efficiency > > > it's sometimes a very good choice. > > > > The problem of `cl-loop' is more one of expressiveness and readability. > > Even some Common Lisp people don't like it and have developed > > alternatives - like "iterate" > > (https://urldefense.com/v3/__https://iterate.common- > > lisp.dev/__;!!ACWV5N9M2RV99hQ!Ol1EyLyV-Fu5xj6jaaLCQzvsrtW0qRWo9zcY6- > > y5VTHNrTf2yPZwm6ZqfQhREJo0Nb4qd0I2EZyuSpRF37bfzRpUEkRL$ ). > > > > Dunno if something like that would be more acceptable to Po Lu, but it > > could be an improvement compared to `cl-loop'. > > +1. > > Hadn't seen your msg when I sent a similar one, > for the same reason. IF there's some attempt > to add something akin to `cl-loop' to Elisp at > some point, maybe consider `iterate' as a more > lispy alternative. Not so much a "foreign > language". As far as I know (I used or had to read it once or twice) it's just cl-loop with more parenthesis... Or is there some fundamental difference in ease of use? I expect it to have a substantial manual too, as any powerful language. Anyway, I hope whatever is it, that it is better optimized than our cl-loop which seems to create blocks needlessly and almost always puts an nreverse at the end when collecting stuff in order. Other 'loop' implementations (outside Elisp) don't do that and are usually as fast or faster than the sequence functions beside them. But ours isn't (not by much tho). Jo=C3=A3o