[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] Problem with Syntax Case in 2.0
From: |
felix winkelmann |
Subject: |
Re: [Chicken-users] Problem with Syntax Case in 2.0 |
Date: |
Fri, 22 Jul 2005 14:51:10 +0200 |
On 7/21/05, Dale Jordan <address@hidden> wrote:
> I have been experimenting with the implementation of srfi-57 which uses
> syntax-case and its module system. Under Chicken-1.89 I had added (at
> toplevel) a procedure definition to srfi-57.scm that was used in most of
> the modules. To be precise it was the following:
>
> (define symbolic-identifier=?
> (lambda (x y)
> (eq? (syntax-object->datum x)
> (syntax-object->datum y))))
>
> I also changed the references in the rest of the egg from
> literal-identifier=? to symbolic-identifier=?.
>
> This compiled fine under 1.89. Under 2.0 I get
> Error: unbound variable: symbolic-identifier=?
>
> I have tried putting the definition in its own module and importing it
> and various permutations of eval-when, thinking it might be phase issue,
> but nothing seems to work. Any clues for the perplexed?
Hm. Can you send me your code? Normally that should work.
>
> Unrelated, I note that the run command in srfi-57.setup has a "-R
> srfi-57" directive. Is this correct? It would seem to be either
> redundant or harmful (referencing a previously installed version).
>
Actually, you're right. srfi-57 needs srff-57 to compile, so on the first
installation, you take the source file (at compile-time), and on all
subsequent builds, you use the previously installed, which is a bit
questionable (but works most of the time). You can change the "-R"
to "-X" to force loading srfi-57.scm from the current directory.
It might be that this is in fact related to the problem you describe
above. Perhaps the compile- and run-time incarnations of
srfi-57 get mixed up again. I will play around with it. BTW, I fixed
a little problem with this code just the other day - srfi-57 should
from now on be usable inside psyntax modules as well.
I'll upload a new version, once I've figured out this problem.
cheers,
felix