chicken-janitors
[Top][All Lists]
Advanced

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

Re: [Chicken-janitors] #1441: Macro keywords unexpectedly match against


From: Chicken Trac
Subject: Re: [Chicken-janitors] #1441: Macro keywords unexpectedly match against imported identifiers
Date: Sun, 18 Feb 2018 10:27:46 -0000

#1441: Macro keywords unexpectedly match against imported identifiers
-------------------------------------+-------------------------------------
            Reporter:  sjamaan       |      Owner:  sjamaan
                Type:  defect        |     Status:  new
            Priority:  major         |  Milestone:  4.14.0
           Component:  expander      |    Version:  4.13.0
          Resolution:                |   Keywords:  hygiene, syntax-rules,
Estimated difficulty:  hard          |  capture
-------------------------------------+-------------------------------------

Comment (by sjamaan):

 An interesting testcase where I believe the new version is behaving
 correctly but 4.12.0 behaving differently:

 {{{
 (module match-it (match-foo)
  (import scheme)

  (define-syntax match-foo
    (syntax-rules ()
      ((_)
       (let-syntax ((match-identifier
                     (syntax-rules (foo)
                       ((_ foo) #t)
                       ((_ ?whatever) #f))))
         (match-identifier foo))))))

 (module myfoo (foo)
   (import scheme)
   (define foo 1))

 (import match-it)
 (print (match-foo))

 (import myfoo)
 (print (match-foo))
 }}}

 I would expect both to print {{{#t}}} like in 4.13.0

--
Ticket URL: <https://bugs.call-cc.org/ticket/1441#comment:4>
CHICKEN Scheme <https://www.call-cc.org/>
CHICKEN Scheme is a compiler for the Scheme programming language.

reply via email to

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