From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Alan Mackenzie Newsgroups: gmane.emacs.devel Subject: Re: Improving aesthetics & readability of backquote Date: Mon, 20 May 2019 14:02:16 +0000 Message-ID: <20190520140216.GA4368@ACM> References: <20190520085241.GA5136@ACM> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="31119"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mutt/1.10.1 (2018-07-13) Cc: emacs-devel@gnu.org To: "Paul W. Rankin" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon May 20 16:03:01 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hSisX-0007ry-1s for ged-emacs-devel@m.gmane.org; Mon, 20 May 2019 16:03:01 +0200 Original-Received: from localhost ([127.0.0.1]:36223 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hSisV-00025p-Dp for ged-emacs-devel@m.gmane.org; Mon, 20 May 2019 10:02:59 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:32854) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hSirs-00025X-JI for emacs-devel@gnu.org; Mon, 20 May 2019 10:02:21 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hSirr-0003Ce-Et for emacs-devel@gnu.org; Mon, 20 May 2019 10:02:20 -0400 Original-Received: from colin.muc.de ([193.149.48.1]:19702 helo=mail.muc.de) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1hSirr-0003CC-5x for emacs-devel@gnu.org; Mon, 20 May 2019 10:02:19 -0400 Original-Received: (qmail 74985 invoked by uid 3782); 20 May 2019 14:02:16 -0000 Original-Received: from acm.muc.de (p4FE15E7C.dip0.t-ipconnect.de [79.225.94.124]) by colin.muc.de (tmda-ofmipd) with ESMTP; Mon, 20 May 2019 16:02:16 +0200 Original-Received: (qmail 8633 invoked by uid 1000); 20 May 2019 14:02:16 -0000 Content-Disposition: inline In-Reply-To: X-Delivery-Agent: TMDA/1.1.12 (Macallan) X-Primary-Address: acm@muc.de X-detected-operating-system: by eggs.gnu.org: FreeBSD 9.x [fuzzy] X-Received-From: 193.149.48.1 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:236795 Archived-At: Hello, Paul. On Mon, May 20, 2019 at 23:25:13 +1000, Paul W. Rankin wrote: > On Mon, May 20 2019, Alan Mackenzie wrote: > > Sorry, I can't make anything out of that paragraph. What meaning? > > What relation to what? Which code alone? > The \` symbol is an alias to backquote, and the word "backquote" > only describes the symbol, i.e. circular semantics. OK, thanks. "Backquote" partially describes what the operator does, i.e. it quotes. Sort of. > >> I suggest that we could introduce some aliases and augment the > >> reader constucts a little to make them more aesthetically pleasing > >> and more readable. > > I don't agree with you that (quote foo) is more readable than 'foo. > > I would find (quote foo) tiring to write, and (more importantly) > > tiring to read. I believe very early lisps were lacking the ' > > operator. (quoteval foo) would be even worse for me. > I'm using "readability" in the sense of reader comprehension, not > eyestrain. So was I. > >> If it remains unclear, my suggestion is not to supplant the > >> original syntax; I position this suggestion in a similar vein as > >> the rx library. The two are different. Regexp strings, like "\\([{}();:,<]+\\)\\|^\\s *\\(#\\)\\s *define[ \t]+\\(\\sw\\|_\\)+\\([^(a-zA-Z0-9_]\\|$\\)" are hard to read and decipher. rx is an attempt to make it clearer to read regexps. On the contrary, ` and , and ,@ are easy to read, the difficulty being in their semantics. Back in the 1950s, the language Cobol was invented with just this premise. It was thought that ADD 2 TO X GIVING Y would be easier for beginners (i.e. managers) to understand than Y = X + 2; Language design has gone firmly in the opposite direction since then, emphasising conciseness. > > But code has to be maintained, and everybody would have to know the > > meaning of these new aliases, and be practiced with them, to be able > > to maintain code using them. > Hence the choice of clear, easily understandable aliases. I don't think they're easily understandable. They lack the clarity and distinctiveness of `, ,, and ,@. > > I'm afraid I'm against such changes. > I'm proposing an addition, not changes. An addition is a change, and it would affect all project members. As I said, I'm against this change. > See the aforementioned rx library; its relationship to regular > expression in Emacs Lisp should be instructive. > -- > https://www.paulwrankin.com -- Alan Mackenzie (Nuremberg, Germany).