chicken-janitors
[Top][All Lists]
Advanced

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

[Chicken-janitors] Re: #398: Nested let-syntax failure to strip renamed


From: Chicken Trac
Subject: [Chicken-janitors] Re: #398: Nested let-syntax failure to strip renamed identifiers
Date: Sun, 26 Sep 2010 12:01:06 -0000

#398: Nested let-syntax failure to strip renamed identifiers
-----------------------+----------------------------------------------------
  Reporter:  sjamaan   |       Owner:                               
      Type:  defect    |      Status:  new                          
  Priority:  minor     |   Milestone:  4.7.0                        
 Component:  expander  |     Version:  4.6.x                        
Resolution:            |    Keywords:  expander, renamed identifiers
-----------------------+----------------------------------------------------

Comment(by sjamaan):

 Just for kicks, the corresponding ir-macro:

 {{{
 (let ((a 1))
   (letrec-syntax
       ((foo (ir-macro-transformer
              (lambda (x i c)
                `(bar a ,(cadr x)))))
        (bar (ir-macro-transformer
              (lambda (x i c)
                (let ((c (cadr x))
                      (d (caddr x)))
                 `(cons ,c
                        (let ((,c 3))
                          (list ,d ,c ',c))))))))
     (let ((a 2))
       (foo a))))
 }}}

 All three macros fail, so it's not likely that the bug is in the syntax-
 rules expander. It's more likely that quote doesn't strip enough syntax.
 Will investigate further.

-- 
Ticket URL: <http://bugs.call-cc.org/ticket/398#comment:4>
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]