[Cuis-dev] Thoughts about symbols

Andres Valloud ten at smallinteger.com
Sun Dec 1 13:04:09 PST 2024


I see what you did there.  The result is not even close to the code I 
originally sent you.  It's all yours now, my initials notwithstanding.

On 12/1/24 11:01 AM, Juan Vuletich via Cuis-dev wrote:
> I don't know why it is not there, but I added it back.
> 
> Thanks for reporting!
> 
> On 12/1/2024 10:55 AM, Andres Valloud via Cuis-dev wrote:
>> You know, I was going to say that rehash is not atomic and this is a 
>> problem... why was the mutex removed from the original SymbolSet 
>> implementation I sent you?  Without that mutex, the entire premise of 
>> a symbol table is broken.
>>
>> On 12/1/24 6:38 AM, Juan Vuletich via Cuis-dev wrote:
>>> On 12/1/2024 5:14 AM, Andres Valloud via Cuis-dev wrote:
>>>> By the way, SymbolSet>>rehash is broken because it's not aware of 
>>>> UnicodeSymbol.  Look at this lovely failure.
>>>>
>>>> | haha |
>>>> haha := 'abc¢' asUnicodeString asSymbol.
>>>> Symbol rehash.
>>>> Symbol findInterned: haha :: == haha
>>>>
>>>> That's very bad, this is leaking symbols and will lead to problems 
>>>> that are very hard to debug.  Images where this problem manifests 
>>>> are effectively trashed and need to be rebuilt from scratch --- and 
>>>> this is why I would not want to have to deal with this.
>>>>
>>>> IIRC, when I originally wrote the new symbol table code, 
>>>> UnicodeSymbol did not exist.  I find it really hard to believe that 
>>>> I would ignore the presence of UnicodeSymbol.  So, I suspect this 
>>>> issue appeared during integration, and if so this is yet another 
>>>> consequence of duplication.
>>>>
>>>> Andres.
>>>
>>> Thanks for the fix. It is now at GitHub.
>>>
>>
> 
> 



More information about the Cuis-dev mailing list