From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Newsgroups: gmane.lisp.guile.devel Subject: Re: Enhancement to the syntax system? Date: Tue, 10 Jul 2012 10:24:13 +0200 Message-ID: <87sjd058ia.fsf@gnu.org> References: <877gumufmq.fsf@gnu.org> <87r4stss4d.fsf@gnu.org> <878vf0o7gs.fsf@gnu.org> <87pq85dj8o.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1341908676 29313 80.91.229.3 (10 Jul 2012 08:24:36 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 10 Jul 2012 08:24:36 +0000 (UTC) Cc: guile-devel@gnu.org To: Stefan Israelsson Tampe Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Jul 10 10:24:34 2012 Return-path: Envelope-to: guile-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 1SoVkC-0008GP-Ta for guile-devel@m.gmane.org; Tue, 10 Jul 2012 10:24:29 +0200 Original-Received: from localhost ([::1]:39307 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SoVkB-0007j2-Ov for guile-devel@m.gmane.org; Tue, 10 Jul 2012 04:24:27 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:54143) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SoVk4-0007ik-JZ for guile-devel@gnu.org; Tue, 10 Jul 2012 04:24:24 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SoVjz-0006d3-DP for guile-devel@gnu.org; Tue, 10 Jul 2012 04:24:20 -0400 Original-Received: from xanadu.aquilenet.fr ([88.191.123.111]:43689) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SoVjz-0006cq-7N for guile-devel@gnu.org; Tue, 10 Jul 2012 04:24:15 -0400 Original-Received: from localhost (localhost [127.0.0.1]) by xanadu.aquilenet.fr (Postfix) with ESMTP id E76671C0EB; Tue, 10 Jul 2012 10:24:14 +0200 (CEST) Original-Received: from xanadu.aquilenet.fr ([127.0.0.1]) by localhost (xanadu.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TQHNbzuDKEWO; Tue, 10 Jul 2012 10:24:14 +0200 (CEST) Original-Received: from pluto (vpn-konference.ms.mff.cuni.cz [195.113.20.101]) by xanadu.aquilenet.fr (Postfix) with ESMTPSA id 974E81C0EA; Tue, 10 Jul 2012 10:24:14 +0200 (CEST) X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 23 Messidor an 220 de la =?iso-8859-1?Q?R=E9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu In-Reply-To: (Stefan Israelsson Tampe's message of "Mon, 9 Jul 2012 19:40:33 +0200") User-Agent: Gnus/5.130005 (Ma Gnus v0.5) Emacs/24.1 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 88.191.123.111 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:14725 Archived-At: Hi! Stefan Israelsson Tampe skribis: > | It=E2=80=99s true that it=E2=80=99s annoying that the wrong binding is = silently used. > | Do you think it=E2=80=99s common enough to justify new syntax? > > Yes this highlights a comon problem when implementing racket match with #= `. Sure, but it=E2=80=99s not good-style. ;-) In general, =E2=80=98syntax-ca= se=E2=80=99 is great, but it=E2=80=99s low-level plumbing to be used with care, compared to =E2=80=98syntax-rules=E2=80=99. > I do think > that the best solution is to somehow extend the syntax expander to mimic = my > sugested > #. and #.@. The simple solution is to rewrite according to > > #`(... #.((x y) (f #'x #'y))) > > -> > > #`(let-syntax ((g (lambda (x) (syntax-case x () ((_ x y) (f #'x #'y)))))) > (... (g x y)) Unlike syntax-{quote,unquote,...}, #. has no non-syntax-prefixed equivalent. And what it does is non-trivial. So I don=E2=80=99t feel comfortable with this extension, FWIW. [...] > I also feel that the issue needs to be > liffted up to the > community of at least syntax-case user crowd before doing anything Ill try > to spur > some discussions on it and come back later! Yes, this should be discussed on c.l.s or scheme-reports. Thanks, Ludo=E2=80=99.