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.