[cap-talk] where(), and a mobile-code JS-over-Python experiment

Bill Frantz frantz at pwpconsult.com
Fri Apr 9 19:34:54 PDT 2010


On 4/9/10 at 10:33 AM, tomvc at google.com (Tom Van Cutsem) wrote:

> Purely coincindentally, MarkM and I discussed an alternative semantics of
> 'where' for Javascript yesterday. In a nutshell:
> 
> var promise = try (x = <exp1>, y = <exp2>, ...) in ( farCompute ) {
>   ... x ... y ...
>   => <exp3>
> }
> 
> Here, 'farCompute' is supposedly a far reference to some other vat's
> "compute" function. "compute" is somewhat like "eval", but takes both a
> source string and an environment record as arguments, allowing the source
> code to refer to bindings in the environment record.
> 
>...
> 
> The way in which this statement differs from the earlier 'where' statement
> is that one cannot ship code to arbitrary vats for which one has a far
> reference to one of its objects. In principle, one can only execute code in
> those vats for which one is given a reference to that vat's compute
> function.

This formulation makes executing code on a remote vat dependent on
holding a specific capability to that vat, and not an ambient authority
conveyed by holding a remote reference. I like it.

Cheers - Bill

-------------------------------------------------------------------------
Bill Frantz        | Airline peanut bag: "Produced  | Periwinkle
(408)356-8506      | in a facility that processes   | 16345 Englewood Ave
www.pwpconsult.com | peanuts and other nuts." - Duh | Los Gatos, CA 95032




More information about the cap-talk mailing list