From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Arno Peters Newsgroups: gmane.lisp.guile.user Subject: Guile 1.4 hangs on syncase macro expansion Date: Fri, 14 Feb 2003 17:58:32 +0100 Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Message-ID: <20030214165832.GA21746@duronbox> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: main.gmane.org 1045242241 29217 80.91.224.249 (14 Feb 2003 17:04:01 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Fri, 14 Feb 2003 17:04:01 +0000 (UTC) Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 18jj9G-0007BE-00 for ; Fri, 14 Feb 2003 17:57:15 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18jjAW-0004qv-00 for guile-user@m.gmane.org; Fri, 14 Feb 2003 11:58:32 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10.13) id 18jjA8-0004cK-00 for guile-user@gnu.org; Fri, 14 Feb 2003 11:58:08 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10.13) id 18jjA2-0004IN-00 for guile-user@gnu.org; Fri, 14 Feb 2003 11:58:06 -0500 Original-Received: from amsfep15-int.chello.nl ([213.46.243.28]) by monty-python.gnu.org with esmtp (Exim 4.10.13) id 18jjA0-000466-00 for guile-user@gnu.org; Fri, 14 Feb 2003 11:58:00 -0500 Original-Received: from duronbox.nosuchnet ([62.163.16.73]) by amsfep15-int.chello.nlESMTP <20030214165758.IBWC2755.amsfep15-int.chello.nl@duronbox.nosuchnet> for ; Fri, 14 Feb 2003 17:57:58 +0100 Original-Received: from arno by duronbox.nosuchnet with local (Exim 3.36 #1 (Debian)) id 18jjAW-0005gj-00 for ; Fri, 14 Feb 2003 17:58:32 +0100 Original-To: guile-user@gnu.org Content-Disposition: inline User-Agent: Mutt/1.5.3i X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1b5 Precedence: list List-Id: General Guile related discussions List-Help: List-Post: List-Subscribe: , List-Archive: List-Unsubscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: main.gmane.org gmane.lisp.guile.user:1654 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.user:1654 Hi, I have discovered a not-so-nice interaction between modules and macros. To demonstrate this bug, I have included bug.scm and identity.scm below; note the relative directories. $ guile --version Guile 1.4 [...] $ guile -s bug.scm Before call to identity At this point, Guile hangs. Now, if we edit bug/identity.scm and enable export-syntax, we see the following: $ guile -s bug.scm Before call to identity identity After call to identity Again, disable export-syntax, but now enable the line with slib, disable the line with syncase and enable the line with require. Running Guile again produces: $ guile -s bug.scm Before call to identity identity After call to identity I can only conclude that the hygienic macro implementation (syncase) included with Guile 1.4 produces undesirable program behaviour when used with the module system. Seeing that SLIB manages perfectly well without it is an indication something is definitely wrong. Regards, -- Arno Peters The required files to show the buggy behaviour: -------------------------------------------------- ./bug.scm (use-modules (bug identity)) (display "Before call to identity\n") (display (identity 'identity)) (newline) (display "After call to identity\n") -------------------------------------------------- ./bug.scm -------------------------------------------------- ./bug/identity.scm (define-module (bug identity) :use-module (ice-9 syncase) ;; :use-module (ice-9 slib) ) ;;(require 'macro-by-example) (export identity) ;;(export-syntax identity-macro) (define-syntax identity-macro (syntax-rules () ((_ x) x))) (define (identity x) (identity-macro x)) -------------------------------------------------- ./bug/identity.scm _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://mail.gnu.org/mailman/listinfo/guile-user