[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.