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: seq.el and the complexity of Emacs Lisp. Date: Thu, 9 Nov 2023 21:20:05 +0000 Message-ID: References: <2879d846-b711-ada0-cdc4-9adcb4e56040@gmail.com> 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="38041"; mail-complaints-to="usenet@ciao.gmane.io" Cc: =?UTF-8?Q?Gerd_M=C3=B6llmann?= , Richard Stallman , paaguti@gmail.com, emacs-devel@gnu.org To: Jim Porter Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Nov 09 22:21:24 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 1r1CSp-0009mn-Vo for ged-emacs-devel@m.gmane-mx.org; Thu, 09 Nov 2023 22:21:23 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r1CRu-0003XJ-HT; Thu, 09 Nov 2023 16:20:26 -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 1r1CRr-0003X6-4E for emacs-devel@gnu.org; Thu, 09 Nov 2023 16:20:24 -0500 Original-Received: from mail-lj1-x22d.google.com ([2a00:1450:4864:20::22d]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1r1CRo-0007YJ-2g; Thu, 09 Nov 2023 16:20:22 -0500 Original-Received: by mail-lj1-x22d.google.com with SMTP id 38308e7fff4ca-2c50906f941so18312351fa.2; Thu, 09 Nov 2023 13:20:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699564818; x=1700169618; 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=mUreXGyu9i8tnadoLpl/HNEp3vmDlK0fkiBsaICOLtI=; b=NBNOl/fxq+RONan2oThNUrQ2dSNKv3vKonNs3KAlGGhP13IMcDZip8BGdLSjhV6pNL 2ahBTvEdK8/K1EbjR6nBXEogW7OhO9EIDwlkBd9a0oFDqa23rfFLY+VPmgPc7D4zIvPU n1pidiflhHh/PkEm6gDR41oI7f0XO2xwbK1Dv6yl6OB/3ZwMLbrVcrW5qrLQfjiUToLq Jtbmn+styL9njpobjg3E9oH9VRhkiyPLkqcT6wWavOcMi+lzoo33rFzH7leXt3Y4YnJn If4JjphOEdCfCK/vFdV2bibxpPQBzdN62LvZcJ3PRo1+jUK/dV3y/mOaZA2y2eirCCnE AR1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699564818; x=1700169618; 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=mUreXGyu9i8tnadoLpl/HNEp3vmDlK0fkiBsaICOLtI=; b=vUeL7NSrQU5lLxKj6UL8RT9p488wZyuIGcFQz8EKonX1y2T4p9+VW5jf45Nmb5Z+Ay No4k1ZZG/DoB9y85Hso6mwupEKYC2bnunxEv3PJ2OIKr8JPtW7V4U21pIFXTtVYnDBcB zIVKnlV3cFW6l6qwAF84O1ZmN53sp2w7bdgCkkYfGHaqPDDLEbFBgGSxs8Wl64xAxBmJ SIyD7klC7Ai298PGimGZBk4xyO94IOJbM6mnsRNycIRStqVH9kwlrxPRkJNq4kmB9cnj +Mf+eoH+XkMJOwv7kZuDrwAwcN0ijfVhOM20869t3a2XhHzf+OydahAcJZjQ2FMdft0X B9Fg== X-Gm-Message-State: AOJu0YxnONHlNb5E9+d0K6u0elnUbu5QcujdZgsT3F+sLpsGruCvpNQx X3rk77powcnDDpOHjFmlDFAwrnxqItCUQaivc97YpHwgvhvDHw== X-Google-Smtp-Source: AGHT+IHrpXpvTywna5EHPG8PjoRVQPPFuCn/h0um6g3IMqzyXvGGfrlOu5T4zjO+KEnK97usUmioCFJZi278DQgkbms= X-Received: by 2002:a19:6754:0:b0:508:1889:bfc0 with SMTP id e20-20020a196754000000b005081889bfc0mr2572074lfj.5.1699564817618; Thu, 09 Nov 2023 13:20:17 -0800 (PST) In-Reply-To: <2879d846-b711-ada0-cdc4-9adcb4e56040@gmail.com> Received-SPF: pass client-ip=2a00:1450:4864:20::22d; envelope-from=joaotavora@gmail.com; helo=mail-lj1-x22d.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:312445 Archived-At: On Thu, Nov 9, 2023 at 9:02=E2=80=AFPM Jim Porter w= rote: > > On 11/7/2023 2:24 AM, Jo=C3=A3o T=C3=A1vora wrote: > > Presumably, it's good for handling custom sequence types, such as lazy > > lists. That's a worthy goal, very worthy even, but this polymorphism c= omes > > at a runtime cost, of course. And worthy as it may be, there's no use > > of that feature in the Emacs tree (as far as I can tell from quick grep= s), > > so it can't really be the "technical reason" for why seq.el is preloade= d > > and or recommended. > > I'd say this feature of seq is already in use, albeit not heavy use: > Eshell uses some 'seq-FOO' functions in lisp/eshell/esh-var.el > (specifically 'eshell-index-value') so that Eshell users can index into > *any* sequence type, no matter what that type actually is. Sure that's what seq.el does, but I see no definition of new sequence types in the core. Whatever those "whatever sequence" types are, they have to be defined somewhere with implementations for a bunch of generic functions and I see none of that in the Emacs tree (again, from my quick greps). Examples could be an implementation of lazy sequences for example. So it stands to reason that there's no (obvious) reason to preload seq.el, Also I'm not an eshell uses and I don't understand how eshell users benefit from this, i.e. why using any other sequence-manipulation library, such as cl-lib.el, in esh-vars.el wouldn't do the job just as well for them. Maybe you could explain? Jo=C3=A3o