On Tue, 8 Aug 2006, geiger wrote:
In order to not confuse the user with the differences between strings and symbols, I would say a garbage collector for symbols would be a good idea. We would have to adapt externals that use symbols in that case, but for the user it would be transparent, which means no memory leak anymore. I have been working a bit on a system like this, but nothing to show around yet.
I'm interested to hear details about it.
The approach I am using is pretty simple. Just add a reference counter to the symbols that helps us figure out which ones we can delete. Garbage is collected by triggering a message in one go.
The hairy part is that I either have to add a reference counter to the symbols or duplicate the symbol table in order to store reference counters.
Its just conceptually, if it works, it means that we do not need strings, as strings and symbols are the same.
Günter