<Corbin>
Is there a hash-cons or union-find helper in rlib? I don't mind writing it, but I was hoping that somebody had already figured out the details around symbols and interning.
<cfbolz>
Corbin: there isn't
<Corbin>
cfbolz: Oh well. Is there a better way to intern than to have a dict as a field on a global PBC?
<cfbolz>
Corbin: intern what? strings?
<Corbin>
cfbolz: I'm parsing a Lisp-like S-expression, with holes. I'm then going to substitute stuff into the holes, as well as pattern-match parts of the tree. So they'll be strings or trees.
<cfbolz>
right
<cfbolz>
for prolog I just coded it
<cfbolz>
(it's a bit different in prolog because of backtracking, so the union find needs to be integrated with the trail)
<Corbin>
Sure. I'm just looking to reuse code. I don't like that I'm not able to convert this sort of opportunity into an rlib improvement.
<Corbin>
Thanks for the advice; I appreciate it.
shodan45 has quit [Ping timeout: 240 seconds]
<cfbolz>
Corbin: it's our experience that some of these things are really quite integrated in every language
<cfbolz>
so in theory they are similar, but in practice it's extremely hard to write something that can cover different use cases
<Corbin>
That's true. And RPython JITs aren't perfect Futamura evaluators either, so it's not just about API but about performance guarantees; sometimes we have to write special code just for the JIT.
<cfbolz>
yes
otisolsen70 has quit [Quit: Leaving]
shodan45 has joined #pypy
slav0nic has joined #pypy
Atque has joined #pypy
slav0nic has quit [Ping timeout: 252 seconds]
fijal has quit [Ping timeout: 240 seconds]
ronan has quit [Read error: Connection reset by peer]
fijal has joined #pypy
ctismer has quit [Read error: Connection reset by peer]
ronan has joined #pypy
yizawa has quit [Read error: Connection reset by peer]
ctismer has joined #pypy
cfbolz has quit [Read error: Connection reset by peer]
yizawa has joined #pypy
krono has quit [Ping timeout: 252 seconds]
phlebas has quit [Read error: Connection reset by peer]
agronholm has quit [Read error: Connection reset by peer]
idnar has quit [Read error: Connection reset by peer]
jerith has quit [Read error: Connection reset by peer]