[ sisc-Bugs-1124005 ] hygenic renaming incorrect for implicit module import
"SourceForge.net" <[email protected]> Wed, 16 Feb 2005 07:10:22 -0800
| Newsgroups | gmane.comp.java.sisc.devel |
|---|---|
| Message-ID | <[email protected]> |
Bugs item #1124005, was opened at 2005-02-16 10:10
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=379534&aid=1124005&group_id=23735
Category: None
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Andrew Wilcox (andrewwilcox)
Assigned to: Nobody/Anonymous (nobody)
Summary: hygenic renaming incorrect for implicit module import
Initial Comment:
The following
(module m (a b)
(module ((a x))
(define x 10)
(define (a) x))
(module ((b x))
(define x 20)
(define (b) x)))
(import m)
(display (a))
displays 10 in Petite Chez Scheme but 20 in SISC 1.9.6.
Looking at the output of sc-expand:
...
(#%begin
(#%set! |@m::x| 10)
(#%set! |@m::a| (#%lambda () |@m::x|))
(#%set! |@m::x| 20)
(#%set! |@m::b| (#%lambda () |@m::x|)))
I suspect that SISC's feature of naming module exports
with the name of the module ("@m::a") to support
independant compilation of modules is being incorrectly
applied in the case of implicit imports. Since the two
definitions of "x" are in separate syntactic scopes,
the identifier should be hygenically given different names.
Thank you,
Andrew
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=379534&aid=1124005&group_id=23735
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click