chicken-janitors
[Top][All Lists]
Advanced

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

Re: #1804: compare doesn't compare if name is already bound


From: Chicken Trac
Subject: Re: #1804: compare doesn't compare if name is already bound
Date: Tue, 07 Jun 2022 05:04:57 -0000

#1804: compare doesn't compare if name is already bound
---------------------------------------+---------------------
            Reporter:  Idiomdrottning  |      Owner:  (none)
                Type:  defect          |     Status:  closed
            Priority:  major           |  Milestone:  someday
           Component:  expander        |    Version:  5.2.0
          Resolution:  invalid         |   Keywords:
Estimated difficulty:  medium          |
---------------------------------------+---------------------
Changes (by sjamaan):

 * status:  new => closed
 * resolution:   => invalid


Comment:

 This works as expected - you're trying to compare unhygienically against
 `x`, so you should either use `(inject '(x y z rest args))` for the
 comparison in `frob-bad`, or use `strip-syntax` like you're doing in
 `frob-good`.

 The comparison procedure works analogously to explicit renaming macros,
 but using implicit renaming. So when you compare against a value, it takes
 the value you pass it and implicitly renames it before comparing, just
 like it would've done on the output.

-- 
Ticket URL: <https://bugs.call-cc.org/ticket/1804#comment:1>
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]