From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: Code for cond* Date: Fri, 26 Jan 2024 22:35:55 -0500 Message-ID: References: <874jf3rkzx.fsf@yahoo.com> <87le8ehqew.fsf@localhost> <87zfwurjv4.fsf@yahoo.com> <87cytqhn35.fsf@localhost> Reply-To: rms@gnu.org Content-Type: text/plain; charset=Utf-8 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="18168"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: =?iso-8859-1?Q?Jo=C3=A3o_T=C3=A1vora?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Jan 27 04:36:27 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 1rTZUY-0004Y5-FO for ged-emacs-devel@m.gmane-mx.org; Sat, 27 Jan 2024 04:36:26 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rTZU6-0007CT-RX; Fri, 26 Jan 2024 22:35:59 -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 1rTZU4-0007Bt-TF for emacs-devel@gnu.org; Fri, 26 Jan 2024 22:35:56 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rTZU4-0004cQ-Kn; Fri, 26 Jan 2024 22:35:56 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=Date:References:Subject:In-Reply-To:To:From: mime-version; bh=CMBfXhgxMpxlVm5yr6vz0JMxHhoXejbd4Aji5TKwHvo=; b=jJTA0UROSYcP O9jSp16yFr/pnNq1vu/+bLtI23O+DiqLTYnwKB9MeQYaEfXdTbqDm5hVeedNy0Ya2fCmtRHzz62aJ C6ilCUdOFXOfWESSzVxP80zoIDKhMLydxSIZ7awXLLZglEAarftgRp0ftn9/Z085aQF+eP1l+8TWY 3aTnb8cTFun3gsMOKDBbQPvFmD3XBIfgNLv35xwgWXeWCWXz8hDSLX4+6L3P4Z7Cm1fVksZDGxCCB cLVMJhvGnQRFBSPTFVFvxOLFBVQfpQmR8OkQjHrjxRDFt+eCLyKL7h8m09vHXfwRgMvOcaNMcDcTf 47PGhH9MuO5ejWqc5Fv9UQ==; Original-Received: from rms by fencepost.gnu.org with local (Exim 4.90_1) (envelope-from ) id 1rTZU3-0007M4-H6; Fri, 26 Jan 2024 22:35:56 -0500 In-Reply-To: (message from =?iso-8859-1?Q?Jo=C3=A3o_T=C3=A1vora?= on Wed, 24 Jan 2024 13:52:30 +0000) 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:315454 Archived-At: [[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > that the new cond* fall-through bindings don't lexically wrap > their users. I understand cond* in a different way which leads to the opposte conclusion. match* is not a separate construct in its own right. It is part of the syntax of using cond*, and it can only be used there. These bindings belong to cond*. Their scope is a part of the cond* expression, which does wrap their uses. Would this be clearer if we replace `match*' with `:match'? I wouldn't mind minor changes like that. I'm concerned about its powerful features and its simplicity. Another possible syntax change: non-exit clauses could also be mored to top level, as in the first two lines in this example. (cond* :match (PATTERN DATUM) :bind (BINDINGS...) ;; The rest are exiting clauses. (:match (PATTERN DATUM) CLAUSE-BODY...) (COND-EXP CLAUSE-BODY...) (:bind (BINDINGS...) COND-EXP CLAUSE-BODY...)) I prefer the syntax I've already proposed, because it expresses syntactix relationships using parens. But I'll agree to changes like these if others have a clear preference for them. -- Dr Richard Stallman (https://stallman.org) Chief GNUisance of the GNU Project (https://gnu.org) Founder, Free Software Foundation (https://fsf.org) Internet Hall-of-Famer (https://internethalloffame.org)