[E-Lang] Hash Chaining & Capabilities, Proposal #2c: On-line RemoteEvaluation

Mark S. Miller markm@caplet.com
Wed, 08 Nov 2000 18:55:41 -0800


At 02:43 AM 10/26/00, Tyler Close wrote:
>Markm wrote:
>> If passing a local PassByProxy object is an "over here", as in, the
>passed
>> object remains with the sender and the receiver gets a remote
>pointer,
>>
>> and passing a PassByCopy object is an "over here and over there", in
>that
>> the object is local to both sides,
>>
>> remote evaluation is "other there", in that the sender gets the
>remote pointer.
>>
>>
>> We may well be able to layer the mobile code aspect of PassByCopy on
>top of
>> remote evaluation.
>
>If I have a reference to an object in a foreign Vat, and I send it a
>PassByCopy for it to keep as part of its state, then I have
>accomplished the "over there" scenario. Does the Evaluator do more
>than provide a standard interface for the object in the foreign Vat?

This is a great question.  The Evaluator also provides another standard 
interface for loading code into a foreign vat and evaluating it there -- in 
addition to the interface implicitly provided by the PassByCopy declaration. 
In thinking about your question, I don't think there's anything I can do 
with the Evaluator that I can't somehow arrange to do with PassByCopy 
objects.  So it seems the Evaluator isn't fundamental.  Nevertheless, it is 
a packaging of remote evaluation that is much more convenient for some 
patterns, as we'll soon see.


        Cheers,
        --MarkM