[e-lang] Proposal: deprecate "rcvr" in favor of "ref"
Marc Stiegler
marcs at skyhunter.com
Wed Dec 6 10:00:56 CST 2006
Since we can't come to a quick closure on this...
I have personally always thought it was a mistake to try to capture the
subtlety of "possibly remote, you better only make sends, don't do
calls" in the guard name. My real preference has always been, name the
guard "far", and use documentation to explain that it might not be far,
even though only an idiot would make an immediate call without first
coercing it through the near guard.
The truth is, the naive interpretation of "far" or "remote" leads the
programmer to correct behavior, whereas everything else (including rcvr)
leads to puzzlement. If we lead the programmer to correct behavior, he
wins. If we leave him puzzled, he loses.
What was the goal of giving these things names anyway, if not to lure
the poor soul into correct behavior? Sure, leading to correct
understanding as well as correct behavior is swell, but we have now
spent six years using a term that mainly encourages the programmer to
either go back to the documentation, or to get tired of being sent off
to the documentation and go back to using C++.
--marcs
Dean Tribble wrote:
> Your examples of "What we'd ideally like to say," makes me want a
> clarification: For example, "possibly eventual" permits of manually
> testing whether the reference is near, and then just using it as near.
> Since I think that's generally a bad style, I was assuming that the
> guard should represent the programmer declaration that the reference
> should be only treated eventually ( i.e., with "send"), even if it's
> not. This would typically be used for references that might be remote,
> but might be used within a vat e.g., for observers that should not be
> invoked synchronously. Which semantics does/should this guard specify?
>
> The difference between "nocall"and "not necessarily near"
> On 12/3/06, *Mark S. Miller* <markm at cs.jhu.edu
> <mailto:markm at cs.jhu.edu>> wrote:
>
> John Carlson wrote:
> > I don't know much about E, but how about 'rref' or 'remref'
> > (maybe too much like remove instead of remote).
>
> Has the same problem as "rmt", "remote", "far", and "eventual": The
> guard we
> need does not say the reference is remote, far, or eventual, just
> that it
> might be. "Possibly eventual", "possibly remote", or "not
> necessarily near"
> captures what we'd ideally like to say, but we're still at a loss
> for a short
> name that expresses any of these.
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> e-lang mailing list
> e-lang at mail.eros-os.org
> http://www.eros-os.org/mailman/listinfo/e-lang
More information about the e-lang
mailing list