[e-lang] EProxyResolver and sameness-breaking

Kevin Reid kpreid at mac.com
Wed Mar 7 15:06:50 CST 2007


On Mar 7, 2007, at 14:24, Mark Miller wrote:
> On 3/7/07, Kevin Reid <kpreid at mac.com> wrote:
>> Of the remaining methods,
>>
>> #            to getOptIdentity() :any
>> #            to getProxy() :nullOk[Ref]
>> #            to gettingCloser() :void
>> #            to isDone() :Boolean
>> #            to optHandler() :nullOk[EProxyHandler]
>> #            to reactToGC() :void
>>
>> what are these used for by the E-level clients of an  
>> EProxyResolver, and could they be eliminated? In particular, could  
>> we entirely eliminate the EProxyResolver object ... and have  
>> instead makeProxy(handler, resolution) which directly returns a  
>> proxy?
>
> In answering this, we need to consider as an E-level client the  
> anticipated rewrite of the captp library in E. From looking briefly  
> at the current Java-based implementation, it would seem all could  
> easily go except getProxy() and reactToGC(). I think I see how to  
> get rid of these as well, but it requires more thinking than I can  
> take the time for at the moment.

I just did a search for "reactToGC". It appears that EProxyResolver  
(not EProxyHandler)'s reactToGC is called only as a WeakPtr reactor,  
and so it does not need to (and should not) be part of the client  
interface.

Not that you mentioned this as an issue, but gettingCloser/0 should  
be replaceable with a when-more-resolved reactor on the resolution  
promise.

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



More information about the e-lang mailing list