[E-Lang] Progress & Non-Progress Report
Tyler Close
tclose@oilspace.com
Mon, 14 May 2001 13:31:11 +0100
At 07:43 PM 5/12/01 -0700, Mark S. Miller wrote:
> The Lost Resolution Bug
>
>The main reason this all took longer than expected is that I ran into a
>conflict between a set of desired attributes of E, now documented at
>http://www.erights.org/elib/distrib/captp/WormholeOp.html and
>http://www.erights.org/elib/equality/same-ref.html#lost-resolution . The
>unimplemented interim solution documented on those pages owes a huge debt to
>many hours-long conversations with Dean Tribble and Marc Stiegler. Thanks!
How do you tell the difference between the unresolved fork of a far
reference and the resolved fork of far reference? If these two types of
reference can be made indistinguishable to the E programmer, then there is
no need for any of this fuss. This is the approach that Droplets takes.
For the specific example that you raised, using a far reference as a key in
a pass-by-copy hashtable, the only requirement is to ensure that the forked
far reference supports EQ semantics from birth, rather than just from
resolution (as normal references do). In Droplets, this is accomplished by
using the swiss-number for all EQ operations (actually, the whole URI gets
used). The forked far reference's swiss-number remains constant for its
entire lifecycle.
Tyler