From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Mark H Weaver Newsgroups: gmane.lisp.guile.user Subject: Re: problems with syntax-case and with-syntax Date: Sun, 27 Aug 2017 21:35:20 -0400 Message-ID: <87efrwiief.fsf@netris.org> References: <87lgm4il3u.fsf@netris.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: blaine.gmane.org 1503884175 8257 195.159.176.226 (28 Aug 2017 01:36:15 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 28 Aug 2017 01:36:15 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) Cc: Guile User To: Matt Wette Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Aug 28 03:36:09 2017 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dm8yB-0001LF-2g for guile-user@m.gmane.org; Mon, 28 Aug 2017 03:36:03 +0200 Original-Received: from localhost ([::1]:36452 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dm8yF-0002LH-16 for guile-user@m.gmane.org; Sun, 27 Aug 2017 21:36:07 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39478) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dm8xr-0002LA-UJ for guile-user@gnu.org; Sun, 27 Aug 2017 21:35:44 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dm8xo-0003S9-R3 for guile-user@gnu.org; Sun, 27 Aug 2017 21:35:43 -0400 Original-Received: from world.peace.net ([50.252.239.5]:42753) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dm8xo-0003Re-BJ for guile-user@gnu.org; Sun, 27 Aug 2017 21:35:40 -0400 Original-Received: from pool-72-93-33-39.bstnma.east.verizon.net ([72.93.33.39] helo=jojen) by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dm8xn-0006XD-2I; Sun, 27 Aug 2017 21:35:39 -0400 In-Reply-To: <87lgm4il3u.fsf@netris.org> (Mark H. Weaver's message of "Sun, 27 Aug 2017 20:36:53 -0400") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 50.252.239.5 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:14069 Archived-At: Mark H Weaver writes: > The problem is that in Guile 2.2, whenever (define ...) is found in > the expanded code, where was introduced by a macro (i.e. not passed > as an explicit argument to the macro), Guile will rewrite the into > a new name based on the hash of the entire definition form. I forgot to mention that only top-level definitions are munged in this way. Also, my parenthetical definition of what it means to be "introduced by a macro" lacked precision. To avoid being "introduced by a macro", it's not enough for to have been passed an argument to the macro that generated the definition. If that were the case, you could work around this by adding an additional layer of macros, where the upper layer generated and passed it down to the lower layer which would generate the definition. To avoid being considered "introduced by a macro", must ultimately occur verbatim in the source code outside of any macro template. Mark