[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


> 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


More information about the e-lang mailing list