There’s a seemingly facetious question: How dow we know the scry object? More to the point, how would the scry object know about whether or not a certain object exists or not? Put differently, there is s simple basic principle (by Carl Hewitt) namely that
an Actor can send messages only to addresses for which it has information by the following means:
- that it receives in the message
- that it already had before it received the message
- that it creates while processing the message.
The conclusion that I came to is that
- when creating an object, there is always a creator, which may either be an object or a user
- every object can be asked to scry (and use a protocol to forward the scry).
Then there are all sorts of questions of how to best set this up, but the real question is: if we have “any” way to look up objects by reference can I just have some invisible hand that does the looking up and reason about matters by substituting all object references by the actual object? In particular when reasoning about the I/O behaviour of objects?