[E-Lang] Progress & Non-Progress Report
Tyler Close
tyler@waterken.com
Thu, 17 May 2001 17:34:00 +0100
At 09:15 AM 5/17/01 -0700, Dean Tribble wrote:
>>Dean, how does Joule provide hashtables without "=="?
>
>In E, near structures (and hashtables in particular) must support
>synchronous access. In Joule, (almost) nothing is synchronous, including
>near structures. Thus, the issue you are wrestling with essentially
>doesn't arise (because a normal computation can accommodate receiving a
>"promise" for a request from a hashtable). Thus, I can perfectly well
>have a hashtable sent from Alice with "near" keys, and have Bob receive
>them with "eventual" keys. When someone retrieves from the table, the
>comparison with the "eventual" key just proceeds when the resolution
>eventually propagates to Bob. If the key is matched against something
>that is already available on Bob, the answer is bound immediately (the
>channel is forwarded, and queued messages to the result of the fetch are
>delivered).
>
>Does that answer the question you were asking? :-)
My first question is actually at an even more basic level. In your
response, what do the verbs "comparison" and "matched" mean if there is no
"=="? Is "==" just another method on the object? If so, doesn't this mean
that your hashtable implementation "relies" on the keys? If so, how can you
make robust "server" objects with brittle hashtables?
Tyler