[racket] datum-intern-literal and lists?
> But one note: in the common case, it looks like your code will copy all of
> the strings:
>
>> (define x "abc")
>> (substring x 0)
> "abc"
>> (eq? x (substring x 0))
> #f
>
> I guess these strings are not mutated, so you can probably avoid that in the
> start = 0 case (something I see the original code does).
Ah, thank you! I'll incorporate this fix into the pull request I'll
make this evening. It'll include:
https://github.com/dyoo/racket/commit/dc88d00ad99ba3f9f3323445723a0c9535e716ef
The interning still doesn't match my intuition: I would have expected
the resulting strings after decoding to be unique enough as to have
the interning be ineffective in reducing on-line memory usage. I
guess I should measure this sometime.