cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://botbot.me/freenode/pypy/ ) | use cffi for calling C | mac OS and Fedora are not Windows
adamholmberg has joined #pypy
<njs> there is some proposal to merge mypy's typed-ast stuff back into the stdlib ast: https://discuss.python.org/t/merge-typed-ast-back-into-cpython/377
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 252 seconds]
lritter has quit [Remote host closed the connection]
<mattip> njs: that will be fun to port to pypy
<mattip> it is really that much slower for mypy to do their thing in python?
<mattip> and not rely on CPython internals?
<njs> well I suspect that particular bit is because the perceived choice was between "steal CPython's parser and add some minor tweaks" versus "write a whole new parser from scratch"
<njs> but uh, Jukka has since invented a whole new static compiler whose source language is "the subset of Python that mypy is written in", with the goal of speeding up mypy
<njs> speed really is a huge issue for mypy, because they need to provide live type checking on million-line codebases with tens-of-millisecond latencies, and the folks with million-line codebases are paying their salaries
<mattip> "speeding up mypy" or "generating c-extension modules from annotated python code, without cython" as a kind of AOT compiler?
<njs> it would be pretty interesting to see how mypy+pypy compared to mypy+mypyc, I assume the typed-ast issue means no-one has ever checked
<njs> and mypy is a big chunk of speed-sensitive algorithmic code with complex python data structures, that runs for a long time (it has a server mode, or in batch mode on a large codebase it easily burns through multiple minutes of CPU)
<njs> which in theory sounds like the perfect case for pypy
<mattip> mypy has PSF backing? It seems to live at github.com/python/mypy
<njs> mattip: my suspicion is that the purpose of mypyc is "just speed up mypy, nothing else" when talking to his managers, and more ambitious when they aren't in the room
<njs> mattip: mypy is Guido's day job and main focus for the last few years, so it has whatever official status that implies
<njs> I don't think it has any funding from the PSF; mostly it's funded by companies, in particular dropbox
<njs> it's crude but not totally wrong to say that mypy exists so that dropbox can figure out which parts of their codebase should be using str vs. bytes :-)
<mattip> so mypy itself is pure python. It depends on typed-ast, which is a separate thing and lives https://github.com/python/typed_ast
<mattip> and slightly extends the stdlib ast module (according to docs).
<mattip> I wonder what the least painful path to supporting this in PyPy would be
* mattip off, bbl
mattip has quit [Ping timeout: 250 seconds]
Garen has quit [Read error: Connection reset by peer]
Garen has joined #pypy
mattip has joined #pypy
jcea has quit [Quit: jcea]
dddddd has quit [Remote host closed the connection]
mattip has quit [Remote host closed the connection]
forgottenone has joined #pypy
Garen has quit [Read error: Connection reset by peer]
Garen has joined #pypy
forgottenone has quit [Remote host closed the connection]
tayfun26 has joined #pypy
tayfun26 has quit [Quit: tayfun26]
tayfun26 has joined #pypy
forgottenone has joined #pypy
jamesaxl has joined #pypy
dddddd has joined #pypy
Garen_ has joined #pypy
inhahe has quit [Read error: Connection reset by peer]
inhahe has joined #pypy
dan- has quit [Excess Flood]
dan- has joined #pypy
dan- has quit [Changing host]
dan- has joined #pypy
Garen has quit [Ping timeout: 268 seconds]
forgottenone has quit [Quit: Konversation terminated!]
jcea has joined #pypy
dddddd has quit [Remote host closed the connection]
fryguybob has joined #pypy
marky1991 has joined #pypy
jcea has quit [Quit: jcea]
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
jcea has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
adamholmberg has joined #pypy
forgottenone has joined #pypy
glyph has quit [Excess Flood]
marky1991 has quit [Remote host closed the connection]
glyph has joined #pypy
lritter has joined #pypy
tayfun26 has quit [Quit: tayfun26]
JoeBaker has joined #pypy
dddddd has joined #pypy
<_aegis_> the hardest part about typed_ast looks like the fact it has both py2 and py3 parsers
<_aegis_> the "parse a comment as a type" thing shouldn't be that hard
<_aegis_> and they claim to only expose a couple extra fields on ast nodes
<_aegis_> maybe found a bug in variable annotations
<_aegis_> checking against cpython
<_aegis_> breaks lazy evaluation of `a if b else c`
<_aegis_> works in python3.6 and 3.7, breaks in pypy 3.6
<_aegis_> (tries to evaluate a despite b being Falsey)
<_aegis_> `root: Class = False and parent.root` works fine
<_aegis_> `root: Class = parent.root if parent else Class()` evaluates parent.root
<_aegis_> oh wow that's gnarly, `root: int = True if False else False` sets root to `(True, False, False)`
jcea has quit [Quit: jcea]
JoeBaker has quit [Quit: Leaving]
JoeBaker has joined #pypy
JoeBaker has quit [Client Quit]
JoeBaker has joined #pypy
JoeBaker has quit [Client Quit]
JoeBaker has joined #pypy
JoeBaker has quit [Quit: Leaving]
JoeBaker has joined #pypy
JoeBaker has quit [Client Quit]
JoeBaker has joined #pypy
JoeBaker has quit [Client Quit]
JoeBaker has joined #pypy
JoeBaker has quit [Client Quit]
JoeBaker has joined #pypy
JoeBaker has quit [Client Quit]
JoeBaker has joined #pypy
JoeBaker has quit [Client Quit]
JoeBaker has joined #pypy
JoeBaker has quit [Client Quit]
JoeBaker has joined #pypy
JoeBaker has quit [Quit: Leaving]
JoeBaker has joined #pypy
JoeBaker has quit [Client Quit]
JoeBaker has joined #pypy
JoeBaker has quit [Remote host closed the connection]
JoeBaker has joined #pypy
JoeBaker has quit [Client Quit]
JoeBaker has joined #pypy
JoeBaker has quit [Client Quit]
JoeBaker has joined #pypy
JoeBaker has quit [Quit: Leaving]
JoeBaker has joined #pypy
JoeBaker has quit [Quit: Leaving]
JoeBaker has joined #pypy
Arfrever has joined #pypy
forgottenone has quit [Quit: Konversation terminated!]
JoeBaker has quit [Quit: Leaving]
dddddd has quit [Ping timeout: 264 seconds]
dddddd has joined #pypy
dddddd has quit [Remote host closed the connection]
dddddd has joined #pypy
dddddd has quit [Remote host closed the connection]
dddddd has joined #pypy
bogner has quit [Quit: Lost terminal]
bogner has joined #pypy
<dstufft> njs: I think mypy got ran on pypy at one point, but the start up time killed it
<dstufft> there'a also pyre
Arfrever has quit [Quit: 御出で]
bbot2 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
adamholmberg has quit [Remote host closed the connection]