Eliot Miranda wrote on Fri, 8 May 2009 15:18:32 -0700
One of the things I think would really helps here is to have a way of assigning the id-hash of a Symbol based on its string hash. Then MethodDictionaries and the like don't have to be rehashed on load. I could imagine a new:withHash: primitive that creates an object with a specified hash atomically, whihc is safer than adding a separate setIdHash: primtive; VW has the latter.
This would be great for merging binary packages with the current Symbols that map 1 to 1 to Strings. I have to confess that this has not been a priority for me in my designs since I have always interested in schemes which map a single Symbol to multiple Strings. The idea was to allow Smalltalk to be written in languages other than English. I know that a lot of people are very much against this idea, but in my experience it will be an important factor in the future.
[header tag for quick memory scans]
Yes, this is neat. They use it in become operations which are very common as slots are added and removed right?
Yes, though adding and removing slots is not common when normal applications are running, only during development. And only "data slots" require this as constant slots and method cause the object to get a new "map" (hidden class, roughly) rather than changing the object's size.
-- Jecel