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
Julian has quit [Quit: leaving]
fotis has quit [Ping timeout: 265 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 245 seconds]
cfbolz has quit [Read error: Connection reset by peer]
eamanu has quit [Read error: Connection reset by peer]
graingert has quit [Read error: Connection reset by peer]
graingert has joined #pypy
cfbolz has joined #pypy
eamanu has joined #pypy
fotis has joined #pypy
fotis has quit [Ping timeout: 265 seconds]
fotis has joined #pypy
Julian has joined #pypy
Julian has quit [Quit: leaving]
fotis has quit [Ping timeout: 245 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 265 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
stkrdknmibalz has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 265 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
luckydonald has quit [*.net *.split]
ctismer has quit [*.net *.split]
shodan45 has quit [*.net *.split]
_0az3 has quit [*.net *.split]
luckydonald has joined #pypy
shodan45 has joined #pypy
ctismer has joined #pypy
_0az3 has joined #pypy
fotis has quit [Ping timeout: 245 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 260 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 245 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 265 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 265 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 250 seconds]
fotis has joined #pypy
<ctismer> Guys, did you hear this Guido interview about fast Python? https://www.softwareatscale.dev/p/software-at-scale-34-faster-python
<cfbolz> ctismer: yep
<cfbolz> ctismer: what did you think?
<ctismer> Well, some thoughts are very familiar, things which we know since many (15?) years. He was a bit unfair when talking about PyPy in the beginning, pointing out the problems integrating PyPy at Dropbox. His knowledge was maybe from 2015, lots of improvements to CPyExt were ignored. Listening to the rest...
<cfbolz> ctismer: I think the dropbox perspective is probably correct, if they have hundreds of extensions it’s likely that they won’t have much fun with PSP’s
<cfbolz> Papyrus
<cfbolz> Argh
<cfbolz> Pypy
<cfbolz> But yes, I agree that some of the things he says feel a little bit unfair
<ctismer> yes that's right. It will still be a problem if people use many extensions. All in all he was not really unfair, this was more annoying in the earlier days of PyPy. I think dealing with these new things changes his thoughts. It just happens quite late, as with other things as well.
<cfbolz> Yeah
<cfbolz> Anyway, Basically I thought that it’s understandable where he’s coming from
<cfbolz> Even if I don’t agree with everything
<cfbolz> ctismer: but, Wouldn’t you say also from your stackless perspective that it basically has always been this way?
<ctismer> cfbolz: yeah, of course. It's funny to see that suddenly C stack and Python stack are going to be mostly decoupled. For other reasons like speed, easier maintenance of frame structures, but I am happy that it is coming.
<cfbolz> Right
<cfbolz> But I also think that it shows a departure from the earlier philosophy, more implementation complexity is allowed nowadays ;-)
fotis has quit [Ping timeout: 252 seconds]
AxTheB has quit [Remote host closed the connection]
<ctismer> cfbolz: Yes, may be this is an effect of growing the Python community, Python is on top now: https://statisticstimes.com/tech/top-computer-languages.php
AxTheB has joined #pypy
<ctismer> And it is no more necessary that one person understands it all. The old principle of simplicity started to vanish already with the introduction of new style classes, I think.
<cfbolz> :-)
* ctismer thinks that change was great, at the same time Python became quite hard to grasp for him
fotis has joined #pypy
Atque has quit [Quit: ...]
<mattip> issue 3573 is a 3.8 release blocker:
<mattip> importing a module from an empty directory raises a TypeError, not an ImportError
fotis has quit [Ping timeout: 260 seconds]
<mattip> is the OP correct that it is a problem with the compiler, or is it a problem with __import__ ?
fotis has joined #pypy
Guest73 has joined #pypy
<cfbolz> mattip: it's possible that that's a bug in the fast path that I implemented, I can take a look tonight
<cfbolz> mattip: particularly if the problem is new in 3.8
fotis has quit [Ping timeout: 252 seconds]
Julian has joined #pypy
jacob22 has quit [Quit: Konversation terminated!]
<mattip> I think I have it, at least a test fails properly
Julian has quit [Ping timeout: 265 seconds]
Julian has joined #pypy
<mattip> it is because "space.getattr(w_module, space.newtext('__file__'))" returns space.w_None
fotis has joined #pypy
jacob22 has joined #pypy
<mattip> so somewhere is setting module.__dict__['__file__'] = None, but I can't figure out where
<mattip> I can work around it by trapping None, but it feels hacky
<mattip> I will commit it so we have the test and one fix, but if someone wants to improve the fix, that would be great
fotis has quit [Ping timeout: 245 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 265 seconds]
fotis has joined #pypy
jacob22 has quit [Ping timeout: 246 seconds]
fotis has quit [Ping timeout: 260 seconds]
<mattip> on the one hand it is nice that translation is 20 minutes, makes life easier
<mattip> but on the other it means I now translate where I would have written a test
fotis has joined #pypy
Julian has quit [Ping timeout: 265 seconds]
Julian has joined #pypy
fotis has quit [Ping timeout: 265 seconds]
<cfbolz> mattip: 😣
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
<mattip> I was trying to get a docstring on to __import__,
<mattip> which is implemented as pypy.module.imp.importing.importhook
<mattip> It seems interpleveldefs' docstrings do not make it through to the builtin functions
Julian has quit [Ping timeout: 245 seconds]
Julian has joined #pypy
fotis has joined #pypy
jacob22 has joined #pypy
Julian has quit [Ping timeout: 252 seconds]
Julian has joined #pypy
fotis has quit [Ping timeout: 265 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 250 seconds]
fotis has joined #pypy
Julian has quit [Ping timeout: 252 seconds]
Julian has joined #pypy
fotis has quit [Ping timeout: 246 seconds]
<cfbolz> mattip: that sounds wrong, they very much should
Guest73 has quit [Quit: Client closed]
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
Julian has quit [Ping timeout: 260 seconds]
fotis has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
Julian has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
<mattip> dunno. I added a docstring to importhook, and it did not show up after translation on __import__
fotis has quit [Ping timeout: 252 seconds]
fotis has joined #pypy
<mattip> hmm, extending the test in interpreter.test.test_extmodules to include a docstring agrees that the docstring should JustWork
<cfbolz> mattip: I vaguely recall that __import__ is weird and special
fotis has quit [Ping timeout: 260 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 250 seconds]
fotis has joined #pypy
<mattip> ahh, the implementation is overridden with pypy.module._frozenimportlib.interp_import.import_with_frames_removed
fotis has quit [Ping timeout: 250 seconds]
jacob22 has quit [Quit: Konversation terminated!]
jacob22 has joined #pypy
Julian has quit [Ping timeout: 260 seconds]
Julian has joined #pypy
fotis has joined #pypy
Julian has quit [Client Quit]
fotis has quit [Ping timeout: 250 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 268 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 265 seconds]
fotis has joined #pypy
fotis has quit [Ping timeout: 252 seconds]
Julian has joined #pypy
fotis has joined #pypy
fotis has quit [Ping timeout: 265 seconds]
fmlatghor has joined #pypy
<fmlatghor> Does anyone here have /usr/bin/python symlinked to pypy?
<Julian> not in /usr/bin, that'd be madness :)
<Julian> but if you mean what does `python` run, yeah for me it runs pypy
<fmlatghor> Would it break my system
<fmlatghor> I am seriously considerig it
<fmlatghor> extension modules
<Julian> fmlatghor: what would be the point?
fotis has joined #pypy
<Julian> or are you asking about doing what I did?
<fmlatghor> Julian: make life faster
<fmlatghor> what about just scripts in environment
<Julian> fmlatghor: you don't (and shouldn't) need to modify /usr/bin to get `python` to use `pypy`.
<fmlatghor> so env /usr/bin/python uses pyypy
<fmlatghor> wait, what?
<Julian> Just `ln -s /usr/bin/pypy ~/.local/bin/pypy` should do, and put ~/.local/bin/ first on your path.
<Julian> er,
<Julian> `ln -s /usr/bin/pypy ~/.local/bin/python`
<Julian> You should not touch /usr/bin/ manually (essentially ever)
<fmlatghor> but most scripts' shebang
<fmlatghor> most scripts do #!/usr/bin/python
<Julian> Most scripts shebang will be `/usr/bin/env python` (and thereby work fine)
<Julian> Those scripts which hardcode are broken :) so send PRs to fix them.
<fmlatghor> ah
<fmlatghor> do people do that for shell script to
<fmlatghor> or just python
<Julian> Also keep in mind PyPy is slower for short-running scripts
<Julian> fmlatghor: That's the preferred command line for all Python scripts which run Python 2
<Corbin> fmlatghor: This is also a very distro-dependent question, as non-LSB distros become more popular. Many distros now offer tools for virtualizing or isolating system packages.
<Corbin> I've done the moral equivalent of what you're asking, using PyPy to run all Python on a system, but there was no /usr/bin/python at all.
<fmlatghor> I don't think I'm going to do anything just yet
Julian has quit [Quit: leaving]
<fmlatghor> Julian: has convinced me there are tradeoffs and Corbin to not replace /usr/bin/python
<Corbin> fmlatghor: Oh, I mean, have you heard about our savior NixOS!? I'm joking, of course, but that's what I mean when I say "non-LSB"; I'm talking about systems that don't have a classic GNU/Linux /usr.
<fmlatghor> Corbin: I've used the nix pm but not nixos
<fmlatghor> I know it has /nix
<Corbin> I remember trying to replace /usr/bin/python with PyPy on Gentoo, but I don't remember how well that worked. It might be a supported configuration by now.
fotis has quit [Ping timeout: 250 seconds]
stkrdknmibalz has joined #pypy
fotis has joined #pypy