Re: how to extend a capability on a data source?
David Barbour <[email protected]>
| Newsgroups | gmane.comp.capabilities.general |
|---|---|
| Message-ID | <CAAOQMSt4aHj4PONEB0DjtY2BXUanAWHLC9-O-tYLu3puP=HTBw@mail.gmail.com> |
Thanks for the correction and clarification. On Mon, Nov 4, 2013 at 8:30 PM, Kevin Reid <kpreid-M/[email protected]> wrote: > On Nov 3, 2013, at 21:44, David Barbour <[email protected]> wrote: > > On Sun, Nov 3, 2013 at 9:06 PM, Rob Withers <[email protected]> wrote: > >>> Those properties together would make the Resolver linear, and would > ensure that the promise is fulfilled once and only once (modulo divergence > of the resolver computation). > >> To my recollection, this is precisely what Elib delivers. > > When I say "ensure", I think I'm saying something stronger than you're > hearing. Elib does not make a *static guarantee* that a resolver is called > exactly once. If a programmer simply drops the resolver, it is never > called, and thus Elib needs a concept of "broken" promises. > > I'm not following the conversation, so this is strictly a technical > nitpick about E: > > A broken promise is not one which has never been resolved, but one which > has been resolved to a failure. (More precisely, a promise is resolved to > another ref, which happens to be a broken ref.) A promise whose resolver is > never used simply remains unresolved forever. > > If the state of a promise revealed that its resolver has been dropped, > then that would expose GC nondeterminism even in the single-vat case, so we > don't do that. > > -- > Kevin Reid <http://switchb.org/kpreid/> > > > _______________________________________________ > cap-talk mailing list > [email protected] > http://www.eros-os.org/mailman/listinfo/cap-talk > _______________________________________________ cap-talk mailing list [email protected] http://www.eros-os.org/mailman/listinfo/cap-talk