>
> ----------
> From: *Andreas Schlegel* 
> <[email protected]<https://mail.google.com/mail/?view=cm&fs=1&tf=1&[email protected]>
> >
> Date: Tue, Dec 3, 2013 at 6:33 AM
> To: Tom Van Cutsem 
> <[email protected]<https://mail.google.com/mail/?view=cm&fs=1&tf=1&[email protected]>>,
> "Mark S. Miller" 
> <[email protected]<https://mail.google.com/mail/?view=cm&fs=1&tf=1&[email protected]>
> >
> Cc: Brendan Eich 
> <[email protected]<https://mail.google.com/mail/?view=cm&fs=1&tf=1&[email protected]>>,
> [email protected]<https://mail.google.com/mail/?view=cm&fs=1&tf=1&[email protected]>
>
>
> Hello,
>
> yes you're right, the problem of the contracts researched by prof.
> Thiemann was, that the targets behind the proxies could not be compared by
> == and ===.
>
> How can I merge contracts of multiple proxies and represent them by just a
> single proxy, if I cannot compare them (or get the target)?
>
> We have discussed first an approach with new operators spezific to proxy
> comparism but this is not the way.
> If I can include a trap for asking the proxy if he's transparent or not,
> it is possible to use the same operators by asking the proxy.
>


Yes, for JS or any language where identity is based on an equality
*predicate*, it is too late: The conflict between contracts and identity
can't be fixed. Note that, through my lack of foresight about this issue, E
is among the languages that can't be fixed.

For new languages or for subsets of an existing language, such as the
distributed portion of Dr. SES, a weaker equality primitive, join, could be
extended to be in bed with contract-membranes in ways that maintain most of
what is useful about object identity, as explained in the thread with Phil
and Jeremy. Not only is join compatible with contract-membranes, it
enhances them by providing a useful new contract combinator.

An open question is how to arrange for the built-in join to be in bed with
user-extensible contract-membranes in a way that both preserves security
under mutual suspicion and provides the needed functionality. A good test
case is a local and a distributed implementation of Horton assuming
mutually suspicious machines.



> Best regards
> Andreas
>
>


-- 
  Cheers,
  --MarkM
_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Reply via email to