[ sisc-Bugs-776598 ] let-syntax scoping rules broken
"SourceForge.net" <[email protected]>
| Newsgroups | gmane.comp.java.sisc.devel |
|---|---|
| Message-ID | <[email protected]> |
Bugs item #776598, was opened at 2003-07-23 15:48 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=776598&group_id=23735 Category: None Group: None Status: Open Resolution: None Priority: 6 Submitted By: Matthias Radestock (mradestock) Assigned to: Nobody/Anonymous (nobody) Summary: let-syntax scoping rules broken Initial Comment: psyntax's let-syntax and letrec deliberately deviate from R5RS by being splicing constructs. There is a good reason for that [Scott, do you remember what it is?]. However, in making this change some weirdness seems to have been introduced: SISC (1.8.1-alpha) - main #;> (let-syntax ([foo (syntax-rules () [(_ x) 'x])]) (define-syntax bar (syntax-rules () [(_ x) (foo x)])) (bar x)) x #;> (bar x) Error: identifier out of context foo The "local" bar expansion works perfectly ok. The top-level expansion breaks. The same happens in the following: #;> (define-syntax bar (let-syntax ([foo (syntax-rules () [(_ x) 'x])]) (syntax-rules () [(_ x) (foo x)]))) #;> (bar x) Error: identifier out of context foo This just doesn't seem right. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=379534&aid=776598&group_id=23735 ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01