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 | the pypy angle is to shrug and copy the implementation of CPython as closely as possible, and staying out of design decisions
jcea has quit [Ping timeout: 268 seconds]
jcea has joined #pypy
jcea has quit [Ping timeout: 276 seconds]
itamarst has quit [Quit: Connection closed for inactivity]
dmalcolm_ has joined #pypy
dmalcolm has quit [Read error: Connection reset by peer]
<cfbolz> korvo: what's DSO?
<cfbolz> mjacob: it's in pypy/tool/release?
marvin_ has quit [Remote host closed the connection]
lazka has quit [Quit: bye]
marvin_ has joined #pypy
lazka has joined #pypy
glyph has quit [Quit: End of line.]
glyph has joined #pypy
zii99 has joined #pypy
zii99 has quit [Client Quit]
BarrensZeppelin has joined #pypy
<BarrensZeppelin> I was looking into how to get started on the py3.12 branch, specifically how to obtain some failing tests for new features, and I was happy to find the guide https://github.com/pypy/pypy/blob/py3.11/lib-python/stdlib-upgrade.txt πŸ˜ƒ However, some of the steps are a bit unclear to me. In step `1. check out this branch`, what is "this branch"? In
<BarrensZeppelin> step `5. update to py3.11`, does update mean "git switch"? Step 6 says to create an integration branch for the new stdlib named "stdlib-$version", however, I can't find such a branch for the py3.11 stdlib (it seems like no such branches have been made after the heptatod -> GitHub transition). Step 11 mentions `commit --close-branch`, but that seems
<BarrensZeppelin> to be an option that is supported by hg, not git.
<BarrensZeppelin> Oof, web.libera.chat inserted some annoying breaks...
otisolsen70 has joined #pypy
otisolsen70 has quit [Remote host closed the connection]
otisolsen70 has joined #pypy
BarrensZeppelin has quit [Quit: Client closed]
BarrensZeppelin has joined #pypy
<cfbolz> BarrensZeppelin: it's possible that these instructions haven't been updated since the switch to git 😬
<BarrensZeppelin> Yeah, it looks like it, although some of the instructions explicitly mention git now. πŸ™ƒ
<cfbolz> ah
<cfbolz> then it's a question for Matti (I have never done the stdlib update)
<cfbolz> (it's a bit tricky anyway)
<cfbolz> BarrensZeppelin: if you want to get into py3.12, you could try to look into one of the new features, leaving the old stdlib in place for now
<cfbolz> PEP 695? the new type parameter syntax maybe? would mean you need to start looking into the parser and bytecode compiler
<BarrensZeppelin> Right. Specifically I want to start with the new laxer f-string syntax, but I probably want to use the tests from CPython.
<BarrensZeppelin> Maybe I can just copy those specifically and leave the rest of the stdlib in place?
<cfbolz> yes, that's a plan too
<cfbolz> as for tests: you should write your own unit tests, as you develop
<cfbolz> then, in the end, we can check against CPython's comprehensive test suite
<cfbolz> if you want to do f-strings, I have actually started a branch that refactors the tokenizer to make it somewhat more approachable (right now, it's a single gigantic unreadable function)
<BarrensZeppelin> Right, maybe that's a better idea. So you would recommend to start from that branch?
<cfbolz> yep
<cfbolz> py3.11-refactor-tokenizer
<cfbolz> I'm happy to answer all your questions, just ping me here
<cfbolz> We can also set up a video call some time and I can show you around the code base a bit
<BarrensZeppelin> Thanks! I'll try to see how far I can get on my own, but I may take you up on your offer if I get stuck. πŸ™‚
BarrensZeppelin has quit [Quit: Client closed]
jcea has joined #pypy
<uau> i believe "dso" above meant something like a binary shared library
<LarstiQ> yeah, dynamic shared object
nightstrike has quit [Quit: Connection closed for inactivity]
itamarst has joined #pypy
<nikolar> deep space object
otisolsen70_ has joined #pypy
otisolsen70 has quit [Ping timeout: 276 seconds]
otisolsen70_ has quit [Quit: Leaving]
<mjacob> cfbolz: Right, thanks! I was confused by the fact that there’s another file in that directory that downloads this file.
dbohdan[phone] has quit [Ping timeout: 272 seconds]
dbohdan[phone] has joined #pypy
jerith has quit [Ping timeout: 272 seconds]
jerith has joined #pypy
pjenvey has quit [Ping timeout: 252 seconds]
xorAxAx has quit [Ping timeout: 276 seconds]
xorAxAx has joined #pypy
pjenvey has joined #pypy
krono has quit [Ping timeout: 268 seconds]
krono has joined #pypy
<korvo> cfbolz: Oh sorry, it's the older way of saying "shared object". Like for dynamic linkage, particularly C linkage. Sometimes I get intrusive thoughts like "you should rewrite curl in RPython" and I want to counter with "but libcurl requires C linkage and RPython can't do that".
<cfbolz> do you want to link C libraries into your rpython executables? or use rpython to produce C libraries?
<korvo> The latter. And it's not really a want, but a cursed idea. I probably won't follow up on this.
[Arfrever] has quit [Ping timeout: 244 seconds]
[Arfrever] has joined #pypy
nightstrike has joined #pypy
<cfbolz> korvo: it's possible, in any case. pypy produces a shared library for embedding
<korvo> Oh, I thought that that was deprecated for some reason. If that's still supported, then I can go read code to understand it.
<cfbolz> there be dragons
Dejan has joined #pypy
Dejan has quit [Quit: Leaving]
pvital_ has joined #pypy
pvital has quit [Ping timeout: 244 seconds]