[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-kawa] [bug #17986] syntax bindings in letrec-syntax may mask litera
From: |
Chris Wegrzyn |
Subject: |
[Bug-kawa] [bug #17986] syntax bindings in letrec-syntax may mask literal identifiers inside |
Date: |
Thu, 12 Oct 2006 20:27:54 +0000 |
User-agent: |
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322) |
URL:
<http://savannah.gnu.org/bugs/?17986>
Summary: syntax bindings in letrec-syntax may mask literal
identifiers inside
Project: Kawa
Submitted by: cwegrzyn
Submitted on: Thursday 10/12/2006 at 20:27
Category: Scheme language
Severity: 3 - Normal
Item Group: Unexpected result
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
_______________________________________________________
Details:
When keywords bound to syntax in letrec-syntax are also used in the literal
identifiers list of one of the contained bindings, the literal identifier may
be treated as a variable, rather than a literal.
The attached testcase should more clearly illustrate this. From my reading of
r5rs, the output of the cases with and without the "masker" should be
equivalent. I have also confirmed this behavior with MIT Scheme 7.7.1.
I am honestly not sure if this is in fact a bug or just a misunderstanding on
my part of r5rs. I have tracked the issue to the call to literalIdentifierEq
in SyntaxPattern.translate. If this is indeed a bug, I think the solution may
be to have the literal identifiers considered as sharing the scope of the
scope outside the pattern scope. I have included a patch that does this.
_______________________________________________________
File Attachments:
-------------------------------------------------------
Date: Thursday 10/12/2006 at 20:27 Name: syntax-masking.scm Size: 1kB By:
cwegrzyn
test case
<http://savannah.gnu.org/bugs/download.php?file_id=10956>
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?17986>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
- [Bug-kawa] [bug #17986] syntax bindings in letrec-syntax may mask literal identifiers inside,
Chris Wegrzyn <=