[e-lang] Proposal: deprecate "rcvr" in favor of "ref"
Mark S. Miller
markm at cs.jhu.edu
Sat Dec 2 13:31:52 CST 2006
I was recently preparing a bit of E code to illustrate a point in a
presentation. When it came time to declare that a particular parameter was a
possibly remote reference to a PublicFace, I found myself writing
to sealIntroduction(..., other :rcvr[PublicFace]) :SealedBox
In desperation to make the presentation more immediately understandable, I
substituted "ref" for "rcvr", and everything read much better. At the time I
did this, it was pretend. I propose we deprecate "rcvr" in favor of "ref".
Since "ref" had not previously been reserved, this is technically a
non-upwards compatible change, but all incompatibilities can be easily and
reliably found and fixed. The current E SVN head contains such a trial fix.
The term "rcvr[T]" for the guard meaning "possibly remote reference to a T"
comes out of the threads rooted at
http://www.eros-os.org/pipermail/e-lang/2001-August/005593.html
http://www.eros-os.org/pipermail/e-lang/2002-March/006303.html
http://www.eros-os.org/pipermail/e-lang/2002-March/006302.html
These threads contain the following alternatives (though these are suggested
in the context of variable naming convention rather than guard names):
pass
grip
handle, hand
remote, rmt
queue, Q
distributed, dist
For the guard name, I still like "ref" the best. "ref" has been suggested
before, and I had previously rejected it because of conflict with its meaning
to ML and Algol-68 programmers. Despite this objection, I think I still like
it best.
If there are no objections, in the next E release "rcvr" will continue to work
but be deprecated, and "ref" will be in the same scope as a non-deprecated
synonym.
--
Text by me above is hereby placed in the public domain
Cheers,
--MarkM
More information about the e-lang
mailing list