[e-lang] EProxyResolver and sameness-breaking

Kevin Reid kpreid at mac.com
Thu Mar 8 21:32:08 CST 2007


On Mar 7, 2007, at 13:38, Kevin Reid wrote:

> In particular, could we entirely eliminate the EProxyResolver object
> (other than possibly being an implementation detail), and have
> instead makeProxy(handler, resolution) which directly returns a proxy?

A slightly modified version of this has now been implemented in E-on-CL.

The interface is now:

makeProxy(handler :settled,
           resolutionSlot :vow[FinalSlot],
           resolved :boolean)

'resolved' specifies whether this is a remote promise or a far ref.

'resolutionSlot' resolves to a slot containing the resolution, rather  
than the resolution itself, because it must be possible to specify a  
proxy becoming resolved to a local promise or another proxy.

When resolutionSlot resolves for a far ref, its value must be a  
broken reference; the proxy then becomes a disconnected reference  
maintaining its identity, but using the problem from the provided  
broken reference.

-- 
Kevin Reid                            <http://homepage.mac.com/kpreid/>




More information about the e-lang mailing list