From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Code for cond* Date: Sun, 25 Feb 2024 12:10:38 -0500 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16317"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: emacs-devel@gnu.org To: Richard Stallman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Feb 25 18:11:35 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 1reI2I-00043V-Vl for ged-emacs-devel@m.gmane-mx.org; Sun, 25 Feb 2024 18:11:35 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1reI1d-0007so-VF; Sun, 25 Feb 2024 12:10:54 -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 1reI1b-0007s6-Ey for emacs-devel@gnu.org; Sun, 25 Feb 2024 12:10:51 -0500 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1reI1X-0002zz-QY; Sun, 25 Feb 2024 12:10:49 -0500 Original-Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id CDED344129F; Sun, 25 Feb 2024 12:10:44 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1708881039; bh=vq6hndZU1J8ddcjxkloHEPjvkiWABLcSNIgzrJLN5No=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=H012tPk1GBYtyV4wuw/pL+zLq8inBCNVSeN7cgbDJAyrdIrdIbWqQMmeVS3RePpi2 RXyDg7TU78IsOCcdvEPPR89Wn49OFXsqBhL8VtZ6qe+JFZ+3t6XNbuz9ZlK26C56oO raA0rimXxIUAE971BfBJIZQeYftIXiAHMgZ1xg21ZBKmOLVFK4jtwnPHqmsih6oMt3 LUSbJi3x4k9bVsEqTEKfNOCdaSvkVg4GSIgPwpDiNXizNcUeAWLraQrU9eeatdGUs0 u79QU50hxAKve9Lxw0HbrVa16d2BfBOW5cOU7vgbUQwWlnRCKhtYZHYQ8hEZtBRJ1g l4fOZNjj0LFiw== Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 48869441214; Sun, 25 Feb 2024 12:10:39 -0500 (EST) Original-Received: from alfajor (unknown [45.72.205.238]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 1B03F1203CA; Sun, 25 Feb 2024 12:10:39 -0500 (EST) In-Reply-To: (Richard Stallman's message of "Sat, 24 Feb 2024 22:16:28 -0500") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, 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:316531 Archived-At: > > What makes you think so? > > I doubt you'd consider coders' confusion as a feature, so what makes you > > think people won't find it confusing (and/or get confused, even when > > they may not realize it's confusing)? > It is less unnatural than the pcase patterns for the same things, > such as `pred', so I think any confusion from it will be mild. I for one find your syntax a lot more unnatural than the (pred SYMBOL) syntax, so what is natural is in the eye of the beholder (despite your use of "it is" which makes it sound like it's a plain fact rather than an opinion). The fact that a pattern like (< x y) will treat `y` as a reference to an existing variable but `x` as the binding site for a new` x` variable is what I find too risky. That's why I suggest the use of "," as in (< ,x y) which makes the difference more clear (and leans on the use of , in the backquote patterns where it similarly indicates places where a new variable is bound). > > Of course, there remains the question whether this usage should be > > the one that gets the privilege of not needing a dedicated > > "keyword", i.e. to allowing using it without the surrounding `pred`. > > I expect this to be frequent, so people will get used to it. > Thus. the cost of learning it will be distributed across many uses, > and users will appreciate the brevity often. That's also what I thought about the `pcase` patterns. Yet, 14 years alter, we still have regular threads about how its syntax is impenetrable, so much so that you went through the trouble of implementing a "replacement" (which ends up inventing the same wheel). :-) Stefan