[Top][All Lists]

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

[bug #63438] Macro hygiene is broken

From: Taylor R. Campbell
Subject: [bug #63438] Macro hygiene is broken
Date: Mon, 28 Nov 2022 21:42:01 -0500 (EST)


                 Summary: Macro hygiene is broken
                 Project: MIT/GNU Scheme
               Submitter: riastradh
               Submitted: Tue 29 Nov 2022 02:41:59 AM UTC
                Category: runtime
                Severity: 3 - Normal
                Priority: 5 - Normal
              Item Group: Incorrect behavior
                  Status: None
                 Privacy: Public
             Assigned to: cph
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any


Follow-up Comments:

Date: Tue 29 Nov 2022 02:41:59 AM UTC By: Taylor R. Campbell <riastradh>
(define-syntax foo
  (syntax-rules ()
    ((foo 0)
     (foo 1 (x)))
    ((foo 1 (x0))
     (foo 2 (x0 x)))
    ((foo 2 (x0 x1))
     (lambda (x0 x1) (list x0 x1)))))
;Value: foo

(foo 0)
;duplicate parameters (.x.1-0) in (.x.1-0 .x.1-0)

The identifiers `x' generated by distinct macro invocation should not collide,
but they do.


Reply to this item at:


Message sent via Savannah

reply via email to

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