[e-lang] EProxyResolver and sameness-breaking

Mark Miller erights at gmail.com
Wed Mar 7 13:24:41 CST 2007


On 3/7/07, Kevin Reid <kpreid at mac.com> wrote:
> Another question. EProxyResolver has the following methods:
> [...] Of these, the following would naturally go away given my proposal:
>
> #            to resolve(_) :void
> #            to resolve(_, :Boolean) :Boolean
> #            to resolveRace(_) :Boolean
> #            to smash(:nullOk[Throwable]) :Boolean

Yes.


> 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
> (other than possibly being an implementation detail), 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'm hopeful the answer to your overall answer will be yes.

-- 
Text by me above is hereby placed in the public domain

    Cheers,
    --MarkM


More information about the e-lang mailing list