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: What's missing in ELisp that makes people want to use cl-lib? Date: Thu, 9 Nov 2023 14:28:46 +0000 Message-ID: References: <871qd8sfdx.fsf@posteo.net> <838r7g8pys.fsf@gnu.org> <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> 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="31559"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Alan Mackenzie , Dmitry Gutov , =?UTF-8?B?QmrDtnJuIEJpZGFy?= , emacs-devel To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Nov 09 15:30:11 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 1r162q-000820-Rm for ged-emacs-devel@m.gmane-mx.org; Thu, 09 Nov 2023 15:30:08 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1r161o-00009s-1v; Thu, 09 Nov 2023 09:29:04 -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 1r161l-00009U-QG for emacs-devel@gnu.org; Thu, 09 Nov 2023 09:29:01 -0500 Original-Received: from mail-lf1-x12c.google.com ([2a00:1450:4864:20::12c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1r161k-0004us-4h for emacs-devel@gnu.org; Thu, 09 Nov 2023 09:29:01 -0500 Original-Received: by mail-lf1-x12c.google.com with SMTP id 2adb3069b0e04-50939d39d0fso1220753e87.1 for ; Thu, 09 Nov 2023 06:28:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1699540138; x=1700144938; 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=9floDYVQbwNvH94cyUmWPFKudfZ9KfkIxwFXQHaWlRU=; b=j9ucKoZD3Kde5VvlRbQDQ8QcjvJfEQaFYyomKQBQt2leURnpBpqGvcVZ0sSZJ05a4C dV/LZy2uWrDC/8xYrLnDeB5xwGsy8eAxfALH7+hajXY+UOSabpdGq3lEI8aY5aOdc+1v jGE8QQNrX8CTIn4q4hcTLpkp9l/67WjE59rBdAmNRqRK6C5fNW4RjhZc4+y9wYGBmzCs vHOSliMbUbbyANvuTwO/xN2DusGy9piWekt3EkUKohyBoZlylJ+EVd860s4MI/NYfgmU ep/mvsPOnol02uNtl9KZdQTbm+WLe71Z1m5Icom9co3ndhMXSiBN4kFd66YIMBRzhMQu 4chQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699540138; x=1700144938; 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=9floDYVQbwNvH94cyUmWPFKudfZ9KfkIxwFXQHaWlRU=; b=P1wlb8OQUG9u+AN3Em1/SCX1gFZoC7jN+1HXEFUBoxWvFnD3l44iS9SQICbi17HBYs W3VjJcYyjzkDRs08LvReAIjQ+ks8/y/fj3wmHA6ZyvIiNiIeOdtzveoMw4w/P42AEb2t iKRu0FBWfhp7hhGobIuZpAl2LSL9G3GKHN/aanA27X8dBS4K8x0CJ9KEOlAUwnbF95wf juAKMIqmETryHcKaVA/thu9P5vlmhsiki2DtfKo2BXpZtDQImFGf680vKt4R4ikNpn0h MZoJZg5GDxjtcuDdDEst6ZPRueOhNg2dBztlrPff8u3IhqinQzYowk7hD8C57ScY1Jlz yH+A== X-Gm-Message-State: AOJu0YxUcEfDyDo/oKTjgO/K6B5j5lHTUC/j9yIYGvScxTCANYkgdp2w JbS2wlqZasxH7zBF83q3s42jvkblEs4JyyQU4lHgLDfeo+hhHg== X-Google-Smtp-Source: AGHT+IEQQykYfctqLWRVeumPXsk/tZwXiUNUf88V9N5b/FuawL7BkK0iMqD1QWr2p6Rne047foJHaKL8XkA/K4mDQPU= X-Received: by 2002:ac2:5e30:0:b0:509:8e20:e7c6 with SMTP id o16-20020ac25e30000000b005098e20e7c6mr1481582lfg.32.1699540137832; Thu, 09 Nov 2023 06:28:57 -0800 (PST) In-Reply-To: <87il6bt4z0.fsf@yahoo.com> Received-SPF: pass client-ip=2a00:1450:4864:20::12c; envelope-from=joaotavora@gmail.com; helo=mail-lf1-x12c.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:312411 Archived-At: On Thu, Nov 9, 2023 at 1:46=E2=80=AFPM Po Lu wrote: > > Jo=C3=A3o T=C3=A1vora writes: > This is self-evidently wooden language. And all the time I thought I was being cheerful. > I expect the likes of > "compartmentalizing a program for policy-making" from suits, not from > free software developers. Are _you_ the suit? I missed the point of most of your very elegant text, but isn't policy-making exactly what you (and I) are trying to do, i.e. discourage some things and encourage others? What's the gripe with compartments? We don't have all of Elisp in a single library? I was talking about namespaces by the way, if you didn't catch the reference (admittedly obscure) Also, is really cl-set-difference to take the difference of two sets worse than writing a "hallowed" multi-line construct?? Maybe I'm not seeing what the construct is, so what is your preferred Elisp hallowed way to take the difference of two sets, say make a list that contains all items that appear in LIST1 but not LIST2? Or to find the index of a certain element of a sequence... These comparisons, taken one by one, are the hard evidence of that allows us to determine what is "alien" or not, not theological consecrations of personal tastes of a given group, _any_ group. For example, I don't think your 'nconc' form is more readable than 'cl-list*'. It's slightly less readable IMO. We could alias `list*` to nconc though, even better. But I can agree it's not worth requiring cl-lib.el just for cl-list* alone. Much like you prefer setcar to rplacd. Which I also do, btw. But I prefer (setf (car ...)) even more. But you'll frequently see me using setcar and setcdr (or even rplacwahtevercannevertypeit) if that's the style of the file I'm working on. Because I too have my personal tastes, but contrary to others I can let go of them without too much fuss. Stefan M's pcase in particular is great. Its docstring is tough, I agree, and could use some examples (I always end up grepping for examples). But that macro is a lifesaver. The way you talk about seq.el and pcase.el makes me think you want to ban _all the things_, not just cl-lib. I'm confused about what you want Elisp code in core to look like. Jo=C3=A3o