From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: Code for cond* Date: Sun, 25 Feb 2024 17:22:20 +0000 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34994"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "Alfred M. Szmidt" , rms@gnu.org, emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Feb 25 18:23:20 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 1reIDg-00090t-Es for ged-emacs-devel@m.gmane-mx.org; Sun, 25 Feb 2024 18:23:20 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reICv-0007Kz-IT; Sun, 25 Feb 2024 12:22:34 -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 1reICn-0007H8-T8 for emacs-devel@gnu.org; Sun, 25 Feb 2024 12:22:25 -0500 Original-Received: from mail.muc.de ([193.149.48.3]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reICl-0004qz-KZ for emacs-devel@gnu.org; Sun, 25 Feb 2024 12:22:25 -0500 Original-Received: (qmail 22664 invoked by uid 3782); 25 Feb 2024 18:22:21 +0100 Original-Received: from acm.muc.de (pd953a142.dip0.t-ipconnect.de [217.83.161.66]) (using STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP; Sun, 25 Feb 2024 18:22:20 +0100 Original-Received: (qmail 32736 invoked by uid 1000); 25 Feb 2024 17:22:20 -0000 Content-Disposition: inline In-Reply-To: X-Submission-Agent: TMDA/1.3.x (Ph3nix) X-Primary-Address: acm@muc.de Received-SPF: pass client-ip=193.149.48.3; envelope-from=acm@muc.de; helo=mail.muc.de X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable 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:316535 Archived-At: Hello, Stefan. On Sun, Feb 25, 2024 at 10:38:46 -0500, Stefan Monnier wrote: > > On a slightly different topic, when will cond* be added/commited to > > GNU Emacs? Seeing that how cond* works, and documentation has > > slightly materialized, it would be good to get some milage. I agree. > FWIW, I'm opposed to adding it without first unifying the Pcase and > `match*` pattern languages (including making sure that third party > packages which define their own patterns don't need to define them > separately for `pcase` and for `match*`). > [ It's trivial to do by making `match*` reuse the Pcase machinery, so > there is no serious obstacle for that. ] I hope that cond* won't be written on top of pcase. The pcase machinery is almost entirely undocumented (and even the "almost" might be an exaggeration), and that doesn't look like changing any time soon. Debugging pcase itself, or a backtrace involving one of its expansions are thus difficult unpleasant tasks. (I speak from experience.) cond* looks like being better on the first point, and might well be better on the second. Those putative advantages would be lost by basing cond*'s implementation on pcase. > Stefan -- Alan Mackenzie (Nuremberg, Germany).