From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: "Paul W. Rankin" Newsgroups: gmane.emacs.devel Subject: Re: Improving aesthetics & readability of backquote Date: Tue, 21 May 2019 12:34:45 +1000 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; format=flowed Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="154606"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: mu4e 1.2.0; emacs 26.2 Cc: Lars Ingebrigtsen , emacs-devel@gnu.org To: rms@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue May 21 04:36:11 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 1hSudO-000e34-QX for ged-emacs-devel@m.gmane.org; Tue, 21 May 2019 04:36:11 +0200 Original-Received: from localhost ([127.0.0.1]:45315 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hSudN-0008Ru-QS for ged-emacs-devel@m.gmane.org; Mon, 20 May 2019 22:36:09 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:47325) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hSucR-0008Oo-3Z for emacs-devel@gnu.org; Mon, 20 May 2019 22:35:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hSucH-0008Ta-Tv for emacs-devel@gnu.org; Mon, 20 May 2019 22:35:04 -0400 Original-Received: from wout4-smtp.messagingengine.com ([64.147.123.20]:41399) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hSucE-0008Rt-5L; Mon, 20 May 2019 22:35:00 -0400 Original-Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.west.internal (Postfix) with ESMTP id C1DCF6E1; Mon, 20 May 2019 22:34:53 -0400 (EDT) Original-Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Mon, 20 May 2019 22:34:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paulwrankin.com; h=references:from:to:cc:subject:in-reply-to:date:message-id :mime-version:content-type; s=fm3; bh=g7KX3mLHMAOpRBpl/4pBjsMuoH 3Jv01+2UT7qOYguxU=; b=OW0Wby+wYwE6PVquTG61ZplrfMniHwkFVHfPmCwhd5 +C/jMWmcMCEeBZCjKAgEnRI4jsfU7z5RxQnJM13nGmTGyXJd0zlBb9sj1hi1oB+/ DSSEsVHkleNtKMxrMu2CGg0DSgI66KpDEnFYRlyNVMMzLDq4/HksBZzALdbD/XiZ lfoSL6CWWXbTWukorj7NWul0gp8fOgmQd8Zly8p0uWOefxWblhUYd7IuyToEw045 BaSgad7TXbXW4dyFxsVOeoAkBdgd/bRGWUdT8Y8Vc2fYQS3qEQ4MM6IHGEGk3ZYI AONS9He5OtRpqzfkCgzX2nQ+BO09R7R/Sp3jqxeAhvHg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=g7KX3m LHMAOpRBpl/4pBjsMuoH3Jv01+2UT7qOYguxU=; b=EvmSX7SfSlcPc8S1kC/mWn 0ZqrYIjIxZeZpqhZ/wAFipnzmSDUIwE9qrlnPm4nQByjXk1gkt9i6cCE3h9a6y6F dzdk4SbwvxEYszBmIldSh54ylpLtkGtsn4pKBzfMSftIbnz9AAWAlXgX3dYmRZcn J/SCa3eE1lqD2evNg7Z/wua3ftLJ2cxUxT1ETob5lpGJ0ts1NDBH3iQbfY8Ositf cVzkYCV3Q4e0n7xLw0bIF5rcrbtZe4jxbUHPONxk/yB/K/P4SsvFvbF7HHkd+yi8 iatFyRCjk9GDgyFJrM36q6vJCuG9KOqTzRsf1SkeUMuHrlWpD8F1pUK3hsImtJMg == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduuddruddtledgiedtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfhgfhffvufgjfffkgggtsehttdertddtredtnecuhfhrohhmpedfrfgruhhl ucghrdcutfgrnhhkihhnfdcuoehhvghllhhosehprghulhifrhgrnhhkihhnrdgtohhmqe enucffohhmrghinhepphgruhhlfihrrghnkhhinhdrtghomhenucfkphepuddvtddrvddv rddujeejrdduudenucfrrghrrghmpehmrghilhhfrhhomhephhgvlhhlohesphgruhhlfi hrrghnkhhinhdrtghomhenucevlhhushhtvghrufhiiigvpedt X-ME-Proxy: Original-Received: from localhost (unknown [120.22.177.11]) by mail.messagingengine.com (Postfix) with ESMTPA id BCF64103D0; Mon, 20 May 2019 22:34:51 -0400 (EDT) In-reply-to: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 64.147.123.20 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:236835 Archived-At: On Tue, May 21 2019, Richard Stallman wrote: > ,@b is obviously something magic; people who don't know what it > does will look up what it means. > > (splice b) looks like an expression, so people will assume it > calls the function 'splice', and get confused. I think we should > not implement that alias. I think it would be a worthwhile experiment to run this theory by a non-programmer, or a non-Lisp programmer, because this is just not how people think. This distinction between "expression" and "function" and "construct"... people who haven't spent most of their lives programming Lisp just don't think in those terms. Instead we think of the first element inside parentheses as "this does a thing". We look at something like the above and think "splice does a thing". The notion that confusion will arise because (splice b) can only be called within a (quoteval ...), and that this confusion will supersede the confusion of "what the heck is ,@b??" is just not realistic. And there are many times when the first element inside parentheses actually does *not* do a thing, e.g. (let ((a 1) (b 2)) ...) ;; a and b don't do things (dolist (var list) ...) ;; var doesn't do a thing But "quoteval", "unquote" and "splice" are just suggestions based on the backquote documentation. If these suggestions are too troubling, maybe divide this into two parts: 1. the backquote syntax is ugly and hard to understand, and 2. here's a way it could be better. Feel free to discard 2. -- https://www.paulwrankin.com