[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