chicken-janitors
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-janitors] #15: let-syntax and letrec-syntax don't recognize loc


From: Chicken Trac
Subject: [Chicken-janitors] #15: let-syntax and letrec-syntax don't recognize local vars in compiled code
Date: Tue, 21 Apr 2009 18:27:38 -0000

#15: let-syntax and letrec-syntax don't recognize local vars in compiled code
-------------------+--------------------------------------------------------
Reporter:  ashinn  |       Owner:  felix               
    Type:  defect  |      Status:  new                 
Priority:  major   |   Component:  compiler            
 Version:  4.0.1   |    Keywords:  syntax lexical scope
-------------------+--------------------------------------------------------
 The following simple module:

     (module foo (foo)
       (import scheme)
       (define (foo)
         (let ((qux 3))
           (let-syntax ((bar (syntax-rules () ((bar) qux))))
             (bar)))))

 fails to compile with the following error:

     Warning: reference to possibly unbound identifier: qux10

     Error: module unresolved: foo

         Call history:

         <syntax>                (begin35 (##sys#syntax-error-hook "no rule
 matches form" input17))
         <syntax>                (##sys#syntax-error-hook "no rule matches
 form" input17)
         <syntax>                (##sys#cdr input17)
         <syntax>                (begin45 (bar))
         <syntax>                (bar)
         <eval>          (##sys#cdr input17)
         <eval>          (##sys#eq? tail27 (quote ()))
         <eval>          (rename26 (syntax qux)) <--

 However the same code loads and evalutes fine
 in the interpreter.

-- 
Ticket URL: <http://www.irp.oist.jp/trac/chicken/ticket/15>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]