From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.help Subject: RE: plists, alists, and hashtables Date: Thu, 6 Aug 2015 13:19:18 -0700 (PDT) Message-ID: References: <876150vwaa.fsf@mbork.pl> <873803x5q4.fsf@kuiper.lan.informatimago.com> <87a8u7we9s.fsf_-_@lifelogs.com> <02f81836-554f-4bb4-873b-85c24e080e3d@googlegroups.com> <87614uqn5l.fsf@kuiper.lan.informatimago.com> <87d1z2ukw1.fsf@lifelogs.com> <878u9pps1c.fsf@kuiper.lan.informatimago.com> <87oailbn8t.fsf@lifelogs.com> <87vbcto2ya.fsf@kuiper.lan.informatimago.com> <87si7wtpib.fsf@lifelogs.com> <8737zwntla.fsf@kuiper.lan.informatimago.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1438893250 17715 80.91.229.3 (6 Aug 2015 20:34:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 6 Aug 2015 20:34:10 +0000 (UTC) To: "Pascal J. Bourguignon" , help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Thu Aug 06 22:33:58 2015 Return-path: Envelope-to: geh-help-gnu-emacs@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 1ZNRrR-0003p0-2D for geh-help-gnu-emacs@m.gmane.org; Thu, 06 Aug 2015 22:33:57 +0200 Original-Received: from localhost ([::1]:46578 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZNRrQ-0008QW-9z for geh-help-gnu-emacs@m.gmane.org; Thu, 06 Aug 2015 16:33:56 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:57230) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZNRdN-0003D5-Lw for help-gnu-emacs@gnu.org; Thu, 06 Aug 2015 16:19:26 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZNRdK-000822-56 for help-gnu-emacs@gnu.org; Thu, 06 Aug 2015 16:19:25 -0400 Original-Received: from aserp1040.oracle.com ([141.146.126.69]:46271) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZNRdJ-00081Q-VD for help-gnu-emacs@gnu.org; Thu, 06 Aug 2015 16:19:22 -0400 Original-Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t76KJJc6012958 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 6 Aug 2015 20:19:20 GMT Original-Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserv0022.oracle.com (8.13.8/8.13.8) with ESMTP id t76KJJQZ031635 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Thu, 6 Aug 2015 20:19:19 GMT Original-Received: from abhmp0011.oracle.com (abhmp0011.oracle.com [141.146.116.17]) by aserv0122.oracle.com (8.13.8/8.13.8) with ESMTP id t76KJJ9i011777; Thu, 6 Aug 2015 20:19:19 GMT In-Reply-To: <8737zwntla.fsf@kuiper.lan.informatimago.com> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] X-Source-IP: aserv0022.oracle.com [141.146.126.234] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 141.146.126.69 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:106299 Archived-At: > I've been advocating for readtable and reader macros as a mean for _end_ > _user_ extension, not because I support adding syntaxes to lisp. Yes, precisely. > Additionnal syntaxes can be useful, and should only be used, > for end users and DSL implementing a domain with pre-existing ^^^^^ ^^^ > _extensive_ use of that syntax. Yes. What other languages must do at language-design time, Lisp users can do with Lisp code - at language-design time for a DSL. My guess is that those not getting this have never used or heard of something like the Common Lisp reader, where you-the-programmer can define reader macros and pretty much create the syntax - whatever syntax - you want. We Lisp _users_ can make good use of syntax-defining constructs. But Lisp itself does not need any syntactic embellishment, which would in fact work against its nature. > But maps are not something out[side] of this lisp world. They > existed from the start as a-list, then p-list and then hash-tables. > They are a basic data structure perfectly integrated to an > algorithmic programming language, and don't constitute a different, > Domain Specific Language. For this reason, they should use the usual > lisp sexps. A good example. But the same can be said for *any* construct, not just maps. We should not add special syntax to Lisp to support any construct. We should not, and we should not need to. The need that is not yet met in Emacs Lisp is to give users themselves ways to define syntax. Emacs Lisp could really benefit from having a Common Lisp-like reader (in particular, `set-macro-character' or similar).