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: Installing cond* in core Date: Sun, 28 Jan 2024 15:58:19 +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="5502"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org, Stefan Monnier To: Stefan Kangas Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Jan 28 16:59:11 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 1rU7Ys-0001GC-N0 for ged-emacs-devel@m.gmane-mx.org; Sun, 28 Jan 2024 16:59:10 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rU7Y9-0005jF-Sc; Sun, 28 Jan 2024 10:58: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 1rU7Y8-0005j7-Nv for emacs-devel@gnu.org; Sun, 28 Jan 2024 10:58:24 -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 1rU7Y6-0005wR-PF for emacs-devel@gnu.org; Sun, 28 Jan 2024 10:58:24 -0500 Original-Received: (qmail 91120 invoked by uid 3782); 28 Jan 2024 16:58:19 +0100 Original-Received: from acm.muc.de (pd953ae19.dip0.t-ipconnect.de [217.83.174.25]) (using STARTTLS) by colin.muc.de (tmda-ofmipd) with ESMTP; Sun, 28 Jan 2024 16:58:19 +0100 Original-Received: (qmail 10326 invoked by uid 1000); 28 Jan 2024 15:58:19 -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=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:315559 Archived-At: Hello, Stefan. On Sat, Jan 27, 2024 at 16:26:17 -0800, Stefan Kangas wrote: > Alan Mackenzie writes: > > Can you further confirm that there will be no technical advantages given > > to pcase over cond*? > I see cond* as an alternative to pcase for those that prefer it. > This is one consequence of deciding not to get rid of pcase. > > In particular, that condstar.el will be in lisp/emacs-lisp, > We didn't discuss that. I'd put it in lisp/, myself. That would make it unusable early in the bootstrap, putting it at a disadvantage to pcase. > > and that it will be available from early mid-bootstrap onwards, just > > as pcase is? > We didn't discuss that. It sounds like a separate change from adding > cond* to core, and I'm not sure it makes sense to commit to it off-hand, > without first understanding the details. > In general, there is no point to loading something early unless it is > used early. Do you have something more specific in mind? Yes. I outlined a few days ago my idea of tidying up the bootstrap process by using cond* in macroexp.el, thus allowing the files loaded by loadup.el to be in a more natural order. This idea was vetoed by Eli, at least for the moment. But it seems like a good idea not to rule out similar changes in the future. > > On this point, it's worth noting that pcase was silently slipped into > > Emacs in the dead of night without any public discussion, and was then > > widely proliferated through working code, again without discussion. > > That has relevance to "alienation", and goes some way towards explaining > > my attitude towards cond* and pcase. > I can't speak to that, as I wasn't around. > I would propose that we start looking forward, and go back to working on > the things that we enjoy and find interesting. That's likely to be more > productive than discussing the details of how things happened or didn't > happen 14 years ago. The events of 14 years ago have a profound influence on the present and future. I'm somewhat disappointed that the solution you've come up with for cond* is not going to help me at all, though I understand how and why you made it. It's basically leave things as they are and ignore cond*. In ten years time, I'm still going to be faced with inscrutable pcases when debugging code, and that will still slow me down just as much as it does today. -- Alan Mackenzie (Nuremberg, Germany).