[e-lang] [Fwd: Re: inter-vat promises]

Mark S. Miller markm at cs.jhu.edu
Tue May 8 17:36:32 EDT 2007


[forwarded by permission]

-------- Original Message --------
Subject: Re: inter-vat promises
Date: Tue, 8 May 2007 21:10:50 +0100
From: Tony Finch

On Tue, 8 May 2007, Mark S. Miller wrote:
>
> Does this answer your question?

Yes it does, though it makes me wonder what happens to an attempt to
resolve a promise that is already resolved. This usually happens when a
turn completes and the only result of the turn is to resolve the promise,
so the error can't be reported to the resolver. It also can't be reported
to the holder of the promise because resolved promises can only be broken
by network partition. So is the result from the loser of the race just
discarded?

I suppose it's fairly easy for the programmer to avoid this problem by
using promises in a linear way (i.e. so that an object which passes
the resolver to another object never subsequently uses the resolver).

Also, I'm not entirely sure what the LocalPromise <-> RemotePromise
transitions in the reference state transition diagram refer to. How are
remote promises different from a promise with one end passed by proxy to
another vat?

> May I post this correspondence to e-lang?

Please do.

Tony.
-- 
f.a.n.finch  http://dotat.at/

     Cheers,
     --MarkM


More information about the e-lang mailing list