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 | Matti: I made a bit of progress, the tests now only segfault towards the end
<hexology> mattip: this blog post looks good!
<hexology> has anyone here developed a nontrivial application using the pypy "stackless" features? https://doc.pypy.org/en/latest/stackless.html i only learned about stackless python after i learned asyncio, so i never felt a strong need to try a different system. is there an advantage still to the pypy greenlet system? the big pull of asyncio (and to some extent trio) nowadays is the rich library ecosystem developing on top of it, and first-class syntax support.
<hexology> i've also been curious about the various other equivalent systems like gevent and twisted async. but since this is the pypy channel i'm especially curious about the pypy angle here.
derpydoo has joined #pypy
jcea has quit [Ping timeout: 252 seconds]
derpydoo has quit [Quit: derpydoo]
otisolsen70 has joined #pypy
otisolsen70 has quit [Remote host closed the connection]
otisolsen70 has joined #pypy
<arigato> hexology: it's mostly my position, but Python's async/await syntax at the core is a seriously broken design. Quite possibly some libraries built on top of it at still good
<arigato> however, the pypy angle is to shrug and copy the implementation of CPython as closely as possible, and staying out of design decisions
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
<cfbolz> I think the shrugging is the important part
<arigato> about the stackless and greenlet features, they are not pypy-specific, they both existed for CPython first, just long ago
<arigato> :-)
<antocuni> for my work on pyscript I had to look more closely at the aync design in both Python and JS and I confirm
<antocuni> the Python way seems to be broken by design, incredibly confusing and error prone
<antocuni> JS seems to be slightly better (but still confusing and error prone)
ellemoeiselleva has joined #pypy
leshaste has joined #pypy
Cheery has quit [Ping timeout: 246 seconds]
jcea has joined #pypy
Cheery has joined #pypy
leshaste has quit [Ping timeout: 260 seconds]
derpydoo has joined #pypy
leshaste has joined #pypy
MiguelX413 has quit [Quit: Ping timeout (120 seconds)]
MiguelX413 has joined #pypy
ellemoe_ has joined #pypy
ellemoe_ has quit [Remote host closed the connection]
ellemoeiselleva has quit [Ping timeout: 252 seconds]
Dejan has joined #pypy
<LarstiQ> antocuni: how do they differ?
derpydoo has quit [Remote host closed the connection]
derpydoo has joined #pypy
<antocuni> LarstiQ: python async def are basically generators
<antocuni> js async is a synctatic sugar around promises
<antocuni> the most notable difference is that if you call an async function is JS, it is "automatically scheduled"
<LarstiQ> ah, no picking the polling loop?
<antocuni> I don't understand what you mean
<LarstiQ> sorry, was thinking of gevent/uvloop etc
<LarstiQ> but now that I think of it that's not quite needed. can you tell I hardly do python async?
<antocuni> There IS an event loop of course, but it's automatically managed by the browser (or by node)
<antocuni> well, in python async you also have an explicit loop similar to gevent, which is implemented by asyncio
<LarstiQ> right, that's what I meant, as contrast to the "automatically scheduled"
<antocuni> yes. In Python, if you have "async def foo(): ...", and then you just call "foo()", nothing happens
<LarstiQ> oof
<LarstiQ> asyncio.run(), .ensure_fure() and .gather(), I see
<LarstiQ> (fwiw, I quite liked the writeup in https://os.phil-opp.com/async-await/ about how in Rust async is synctatic sugar over promises)
derpydoo has quit [Ping timeout: 248 seconds]
epony has quit [Remote host closed the connection]
leshaste has quit [Ping timeout: 248 seconds]
derpydoo has joined #pypy
epony has joined #pypy
derpydoo has quit [Remote host closed the connection]
derpydoo has joined #pypy
otisolsen70 has quit [Quit: Leaving]
jinsun has quit [Read error: Connection reset by peer]
jinsun has joined #pypy