On 16 Jan 2016, at 13:26, Nicolai Hess <nicolaihess@gmail.com> wrote:
2016-01-16 10:11 GMT+01:00 Marcus Denker <marcus.denker@inria.fr <mailto:marcus.denker@inria.fr>>:
anyone an idea?
I'm trying to think. Looks like it would be good to be able to make a distinction between symbols and selectors (selectors installed in method dictionaries)
yes, this would improve code completion a bit, too, as there are more symbols than symbols that are actually names of methods.
The data could be created per environment (Smalltalk globals) the first time and then cached till shutdown. (it would be an array of size 46451, pointing to existing symbols).
The environment could cache sent selectors, too⦠pablo did an experiment with that.
Marcus
How about a new SymbolTable "SelectorTable" that gets new entries on every method compilation ?
maybe better when a method is added to a Method Dictionary? This way even adding things the strange way would work...
I hacked a simple experimental version. But I don't yet understand the workflow for initialisation of the Symbol class (with rehash, interned, and compacting).
If we hook into adding methods, then compactSymbolTable and rehash could just reset the SelectorTable and fill it after by going over all methods⦠Marcus