[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.