Juan Vuletich wrote:
Well, the part I didn't get was: "This image would support multiple simultaneous viewpoints such that if you have a pointer to an object and I have a pointer to the same object we might get different results when sending the exact same message." How does this help sharing persistent objects?
If my version of class ByteString is slightly different than the version of that class that you use, then some object that depends on it and which I send to you might break when you try it in your environment. If, on the other hand, it carries the changes it needs to ByteString and loads them into your environment then it will work just fine but might break other stuff. The solution I see is to allow different objects in your environment to "see" the same class as slightly different. Then the code you wrote yourself will work side by side with objects I shared with you.
By changing the language semantics I meant what you say about sending the same message to the same object and getting different results... Doesn't that change language semantics?
It can, like how Self was changed into Us by adding viewpoint operations as a fundamental language concept. But for Squeak I am thinking about having this mechanism stay more in the background. So it would allow you to do in a single image what you can now do using two separate images, but otherwise the language is the same.
-- Jecel