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

Re: no constants please



    > 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