From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Kangas Newsgroups: gmane.emacs.devel Subject: Re: Code for cond* Date: Thu, 25 Jan 2024 15:32:52 -0800 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32523"; mail-complaints-to="usenet@ciao.gmane.io" Cc: rms@gnu.org, joaotavora@gmail.com, acorallo@gnu.org, emacs-devel@gnu.org, monnier@iro.umontreal.ca, eliz@gnu.org To: Alan Mackenzie Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Jan 26 00:33:32 2024 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 1rT9Dv-0008AN-Mz for ged-emacs-devel@m.gmane-mx.org; Fri, 26 Jan 2024 00:33:31 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rT9DP-0006q1-WC; Thu, 25 Jan 2024 18:33:00 -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 1rT9DN-0006pc-GC for emacs-devel@gnu.org; Thu, 25 Jan 2024 18:32:57 -0500 Original-Received: from mail-wm1-x331.google.com ([2a00:1450:4864:20::331]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rT9DL-0004xA-Qr; Thu, 25 Jan 2024 18:32:57 -0500 Original-Received: by mail-wm1-x331.google.com with SMTP id 5b1f17b1804b1-40e60e137aaso1556255e9.0; Thu, 25 Jan 2024 15:32:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706225573; x=1706830373; darn=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=0xd29MiWS9Fv+YhoAc6bKgpa/eqlgWh/1qDLOZqR6hA=; b=VILc0xuEXjdMLvpcg8o3nxFwof4Q4r9mv5DldDQ7AQfxD8CCGbVdYmXK1G+AdszlUM Zab7/tEKcJ+WyE4xxg76BBrmeBmcmyVQMgyNNlucnvKxea3ndhd/usv412DFxsJVRvGU RBye/LP8W8YteL3amPfKTSzsWMrOYL8brAhBmuMEOZ+bySVn+uxawozkXQgVczymFxcV 2YiCkdVXp2r7cBeYVEWyGKUrKDAeUl4VIUo84dA0Sr5fOILKA7O5kZv684j6kPKb+MBN fbmglWXoTPdaXzepUp3jE75HqgK1BJvwr4DGb0Fu3FRfvt+Dg1sIfUdAs/1U/XbNd1h+ +/Sw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706225573; x=1706830373; 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=0xd29MiWS9Fv+YhoAc6bKgpa/eqlgWh/1qDLOZqR6hA=; b=hh5VQq1Rd9hhFTm7HwvmgUugoAvYLtc5CUyoSd1d4mntWd808VJWcI+rTe2y0Z6bnN v2ics5CNZPQqjT2ZmvXwXxTTow+rO9sawUE0HsRK8Fa5kWMgK0Z50gBz3DSJtLDCjivJ nL0EJUmnekx7vLAQvA9FWgjNT1HH11IVqqJRIrH6dSpxM22501wjLNgJas57Ie4lbXnu ZQjDr0sCrZHMeI2yf3TivkfDh3qX/ZtghCjZIxWELYnnIUmpJF2PcWcaCCp1tJB5J611 DyTqMpiGbLLjIzv/wUjiwyMUCV1bCQOb80b1k/bMyDiOBddpGUuUdVAmKqWbilwRTsDd 7CnQ== X-Gm-Message-State: AOJu0YwbqoSSqQZxS3QjogJ4G/0++psKkGG8EMQS5W0UA+/R6XV3E5Ff hCtYgH0rQzyFmHkU9JksdHrv6yAIFxhIVrmgvgDrw2cLBULm39jcdFN+siB1SFxWZVcY23pxzbu 5F18bwy6bWB4TmLQPqbEtQluUZy0= X-Google-Smtp-Source: AGHT+IEeA3PISCbF3jZ4ye18V67o1zM8ELcM63ZifQfxnowabRIu4Z8B+t7/qbKweS/AXUCj+zUJgwhewu38PoW+5CA= X-Received: by 2002:a05:600c:4594:b0:40e:b1f2:da44 with SMTP id r20-20020a05600c459400b0040eb1f2da44mr254942wmo.21.1706225572980; Thu, 25 Jan 2024 15:32:52 -0800 (PST) Original-Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Thu, 25 Jan 2024 15:32:52 -0800 In-Reply-To: Received-SPF: pass client-ip=2a00:1450:4864:20::331; envelope-from=stefankangas@gmail.com; helo=mail-wm1-x331.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:315393 Archived-At: Alan Mackenzie writes: >> Now, the `pcase' macro has been with us for 14 years already, and we >> have had plenty of time to learn its ins and outs. It's heavily used in >> many parts of Emacs, and many of us rely on it as a matter of routine. >> Its success is not surprising, given that this style of pattern matching >> is increasingly common in other programming languages. > > What is its "success"? It is a failure, being accepted only by some > Emacs hackers. One data point is that 30% (27/90) of the packages I have installed here use pcase. Please have a look at GNU ELPA, NonGNU ELPA, and MELPA, if you are so inclined, and let's not forget that it's used in core too. This is of course not the only measure of success, but I think it says something. > It is difficult to learn, it may be easy to write, but is difficult to > read, and difficult indeed to debug. This is harder to measure objectively, but this discussion shows that many ELisp hackers don't necessarily share that experience. >> In summary, I recommend installing `cond*' as a new package on GNU ELPA. >> This is a good way of exploring an alternative version of an existing >> macro. > > That's just a way of ensuring it never comes to anything and just gets > forgotten about. Packages like `s', `dash', and many others that were never installed in core, have become very popular, and not forgotten at all. They have even, either directly or indirectly, inspired some changes in core. I think this has been overall very beneficial to the continued evolution of Emacs. So I happen to think that cond* would have every opportunity to become successful if it was installed on GNU ELPA. I'm currently discussing this issue with Eli, so I'll leave it there for now, as I don't want to forego that discussion. Rest assured that your arguments have been heard, and are taken into account.