cfbolz changed the topic of #pypy to: #pypy PyPy, the flexible snake https://pypy.org | IRC logs: https://quodlibet.duckdns.org/irc/pypy/latest.log.html#irc-end and https://libera.irclog.whitequark.org/pypy | hacking on TLS is fun, way more fun than arguing over petty shit, turns out
Atque has quit [Quit: ...]
Atque has joined #pypy
<fijal> mattip: I'll use your machine
slav0nic has joined #pypy
otisolsen70 has joined #pypy
otisolsen70 has quit [Remote host closed the connection]
otisolsen70 has joined #pypy
Atque has quit [Quit: ...]
Cheery has joined #pypy
Atque has joined #pypy
<mattip> fijal: let me know if I should hook it up as a buildbot machine
<fijal> mattip: not yet, but thank you
<LarstiQ> ech
<LarstiQ> Cheery: http://webyrd.net/scheme-2013/papers/HemannMuKanren2013.pdf I meant, or some other primer
greedom has joined #pypy
Atque has quit [Quit: ...]
Atque has joined #pypy
epony has quit [Quit: QUIT]
epony has joined #pypy
<Cheery> LarstiQ: it's kind of a kludge, but without nested functions it's like that.
<Cheery> otherwise it's like it's in the paper.
<Cheery> the ukanren part.
<Cheery> well.. didn't bother with interleaving mplus because I mostly need the cons&eq
<Corbin> Cheery: Wow, good work. That internal bytecode looks like categorical combinators; fun times.
<Cheery> They are. This implements classical linear logic with these combinators.
<Cheery> I've wanted to try this out to see whether there's gains in this kind of setting.
<Corbin> Have you seen my recent language https://esolangs.org/wiki/Cammy yet? It is a low-effort approach, but it also uses RPython and µKanren.
<Corbin> https://osdn.net/users/corbin/pf/cammy/scm/blobs/master/cammy-run/main.py is the entire interpreter and JIT loops.
<Cheery> I recall I saw this.
<Cheery> I think I'll reuse ukanren terms as parse trees.
<Cheery> the combinators themselves implement intuitionistic linear logic, but it becomes classical linear logic if you add continuations.
<Corbin> The stacklet continuations take a lot of code. Are they worthwhile in terms of speed? I was going to just use RPython exceptions; it's what I'm comfortable using.
<Cheery> I haven't measured
<Cheery> oh yeah... figure out in middle of everything that your grammar is missing rules.
<Cheery> then your nice 100-line table explodes into 300 line tables.
<Cheery> time to enable lalr
lritter has joined #pypy
<cfbolz> Cheery: cool work
<Cheery> I just added a parser, but only now realised it's not exactly what I wanted. I still have to adjust the tables.
<Cheery> it's close enough so I guess I continue and change it later.
<Cheery> just means that instead of "split () ()", I have to write split (id) (id)
<Cheery> cfbolz: thanks.
<Cheery> after I got the parser, I can add modules and then I can give it commands to run. I just wonder what I'd begin with.
Cheery has quit [Ping timeout: 240 seconds]
greedom has quit [Remote host closed the connection]
Cheery has joined #pypy
Cheery has quit [Ping timeout: 250 seconds]
Cheery has joined #pypy
otisolsen70 has quit [Quit: Leaving]
slav0nic has quit [Ping timeout: 268 seconds]