<div dir="ltr">[Argh. Should have resent before reply. Better late than...]<div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 20, 2015 at 3:22 PM, David Ungar <span dir="ltr"><<a href="mailto:ungar@mac.com" target="_blank">ungar@mac.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Yes, Self does have an unspoofable one, but at reflective level, not base.<br>
<br>
<br>
In JS syntax:<br>
<br>
reflect(setA) == reflect(setB)  is an unspoofable identity test. In other words, equality of mirrors is identity of reflectees.<br>
<span class="HOEnZb"><font color="#888888"><br>
- David<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
> On Jan 20, 2015, at 3:13 PM, Brendan Eich <<a href="mailto:brendan@mozilla.org">brendan@mozilla.org</a>> wrote:<br>
><br>
> Mark S. Miller wrote:<br>
>><br>
>><br>
>>    (2) can't be meta-programmed to spoof identity. But it doesn't<br>
>>    leave anything like nominal types as found in many languages lying<br>
>>    around as an attractive nuisance (and how, in Java!).<br>
>><br>
>><br>
>> What I think I remember hearing from Tom is that Dave's main point, and the main argument with Tom, was precisely allowing proxies to intercede on === checks, in which case you wouldn't even have that as a reliable indicator.<br>
><br>
> Hmm, maybe -- but does Self have a reference-identity equivalence-relation operator that can't be spoofed? Might help to ask David, but to abstract from that particular SPLASH 2011 Q&A, obviously we won't be enabling such fakery in JS.<br>
><br>
> /be<br>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">    Cheers,<br>    --MarkM</div>
</div>