From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: Double unquote/unquote-splicing Date: Mon, 4 Nov 2013 11:01:19 -0800 (PST) Message-ID: References: <87wqko6z8g.fsf@nbtrap.com> <874n7sf3pi.fsf@nbtrap.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1383591702 21286 80.91.229.3 (4 Nov 2013 19:01:42 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 4 Nov 2013 19:01:42 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier , Nathan Trapuzzano Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Nov 04 20:01:45 2013 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1VdPPD-0003fH-Rn for ged-emacs-devel@m.gmane.org; Mon, 04 Nov 2013 20:01:43 +0100 Original-Received: from localhost ([::1]:51550 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VdPPD-0004nB-BG for ged-emacs-devel@m.gmane.org; Mon, 04 Nov 2013 14:01:43 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59952) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VdPP2-0004mo-8i for emacs-devel@gnu.org; Mon, 04 Nov 2013 14:01:39 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VdPOu-0003eG-OO for emacs-devel@gnu.org; Mon, 04 Nov 2013 14:01:32 -0500 Original-Received: from userp1040.oracle.com ([156.151.31.81]:39269) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VdPOu-0003d2-Hr for emacs-devel@gnu.org; Mon, 04 Nov 2013 14:01:24 -0500 Original-Received: from acsinet21.oracle.com (acsinet21.oracle.com [141.146.126.237]) by userp1040.oracle.com (Sentrion-MTA-4.3.1/Sentrion-MTA-4.3.1) with ESMTP id rA4J1LZx018115 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 4 Nov 2013 19:01:22 GMT Original-Received: from aserz7021.oracle.com (aserz7021.oracle.com [141.146.126.230]) by acsinet21.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id rA4J1KWY008311 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Mon, 4 Nov 2013 19:01:20 GMT Original-Received: from abhmt107.oracle.com (abhmt107.oracle.com [141.146.116.59]) by aserz7021.oracle.com (8.14.4+Sun/8.14.4) with ESMTP id rA4J1KrZ008306; Mon, 4 Nov 2013 19:01:20 GMT In-Reply-To: X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.8 (707110) [OL 12.0.6680.5000 (x86)] X-Source-IP: acsinet21.oracle.com [141.146.126.237] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 156.151.31.81 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 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-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:164941 Archived-At: > > "The backquote syntax was particularly powerful when nested. This > > occurred primarily within macro-defining macros; because such were > > coded primarily by wizards, the ability to write and interpret nested > > backquote expressions was soon surrounded by a certain mystique. > > Alan Bawden of MIT acquired a particular reputation as backquote- > > meister in the early days of the Lisp Machine." - "The Evolution of > > Lisp", Gabriel, Steele. >=20 > That sounds about right: it's only for wizards. No, that is exactly backwards. Please note: "The backquote syntax was __particularly powerful when nested__." That's about power simplifying understanding by humans. Read the article for explanation and good examples. The point of that passage is that _without_ backquote syntax the kinds of things you can do using nested backquotes are *really* complicated without them. The point is that backquote syntax is _especially_ good at simplifying in the case of nested backquotes. What is for wizards is the need to write code of this kind: the kinds of things that nested backquotes simplify. Those use cases are not so common, but if you have such a use case then you _really_ want to have nested backquote syntax. That's the point of the quoted passage. The full article is here: http://extravagaria.com/Files/HOPL2-Uncut.pdf > Nested backquotes were largely broken in Elisp and it took many > years for someone to notice. I do use them occasionally, but only in > fairly simple ways. The resulting code is largely impenetrable, so > I don't want to encourage it. Nested backquote syntax should be neither encouraged nor discouraged. The point is that compared to the alternative it is a lot simpler.