On 10/24/07, Igor Stasenko siguctua@gmail.com wrote:
No sharing you say? Oh.. don't let me starting on this. How about a common procedure of creating a new class? Creating or modifying a method in some class?
Ok, when I say "no sharing" I mean of mutable data, which is where all the problems you and everyone else have mentioned come from.
I have mentioned several times in this thread that classes and code *are a concern*. But I think a solvable one. Doing things to classes (e.g. creating, renaming, adding methods, removing methods, changing methods) are a special case now, and they will be a special case in my proposed system as well. Note that Erlang has this same issue and they solved it in their case 10 years ago. I think this is a solvable problem.
Note that these changes propagated globally in current implementation due to having a single global namespace (SystemDictionary). How you planning to deal with that without breaking a uniform model of smalltalk (everything is an object e.t.c)?
As mentioned in probably no less then 10 other emails: I think the "ObsoleteClass" mechanism will be workable for this.