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

Re: no constants please

This page is part of the web mail archives of SRFI 50 from before July 7th, 2015. The new archives for SRFI 50 contain all messages, not just those from before July 7th, 2015.



    > From: Richard Kelsey <kelsey@xxxxxxx>

    > Constant objects aren't the issue.  

They are if you consider implementations that use read barriers to
update object references.

	x = #t;

	y = scheme_call (....);

	if (x == y)
           ...;


x may have a pointer to the #t object that needs updating, while y 
has it's current address.   They are EQ? but not ==.

Once again, either pika or jni/minor style interfaces evade this
issue.

        > Kawa [boolean? is a test for instance of Boolean class] Kawa
        > uses Java's == for EQ?, so it isn't what I am looking for
        > (there can be only one instance of #T, #F, and ()).

Are you sure?  Does JNI use C's == to implement Java's ==?  It
didn't sound like it would from jimb's description.

-t