mit-scheme-devel
[Top][All Lists]
Advanced

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

Re: [MIT-Scheme-devel] bug in shadowing caches


From: Joe Marshall
Subject: Re: [MIT-Scheme-devel] bug in shadowing caches
Date: Fri, 20 Aug 2010 09:10:31 -0700

On Thu, Aug 19, 2010 at 6:40 PM, Taylor R Campbell <address@hidden> wrote:
>
> I think the problem is that update_cache_references and the associated
> routines don't take the name of the binding involved, causing them to
> update references that they shouldn't update, because they were to
> different names.

I'm not sure that the name is supposed to be taken into account.  When
LINK-VARIABLES is called, it irrevocably causes the first variable to be
an alias for the second.

When the (runtime miscellaneous-global) package is loaded, REFERENCE-BARRIER
is exported as an alias to IDENTITY-PROCEDURE, as we can see in this
nasty bit of code:

1 ]=> (fluid-let ((identity-procedure 'woohoo)) reference-barrier)

;Value: woohoo

1 ]=> (fluid-let ((reference-barrier 'yow)) identity-procedure)

;Value: yow

I think the behavior you are seeing is the expected one.  You probably
don't want to
alias the two variables but simply initialize REFERENCE-BARRIER to
IDENTITY-PROCEDURE.


-- 
~jrm



reply via email to

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