cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://quodlibet.duckdns.org/irc/pypy/latest.log.html#irc-end ) | use cffi for calling C | if a pep adds a mere 25-30 [C-API] functions or so, it's a drop in the ocean (cough) - Armin
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
_whitelogger has joined #pypy
lritter has quit [Ping timeout: 268 seconds]
lritter has joined #pypy
lritter has quit [Client Quit]
jcea has quit [Quit: jcea]
jvesely has quit [Ping timeout: 258 seconds]
jvesely has joined #pypy
jvesely has quit [Ping timeout: 260 seconds]
jvesely has joined #pypy
jvesely has quit [Client Quit]
jvesely has joined #pypy
jvesely has quit [Remote host closed the connection]
jvesely has joined #pypy
inhahe has joined #pypy
<mjacob_> are there any plans for a sprint this year?
inhahe_ has quit [Ping timeout: 258 seconds]
dddddd has quit [Ping timeout: 268 seconds]
oberstet has joined #pypy
<kenaan> arigo cffi/cffi[shortername] 148c941e2483 /: close branch, ready to merge
<kenaan> arigo cffi/cffi 8db9a953910f /: merge branch 'shortername', thanks matti
<kenaan> arigo cffi/cffi 67ebe3890965 /doc/source/whatsnew.rst: Document c1e3a0dc7ac4
<arigato> mjacob_: yes, I'm trying to organize one in Leysin around the beginning of March
jvesely has quit [Quit: jvesely]
Ai9zO5AP has quit [Quit: WeeChat 2.5]
inhahe has quit []
inhahe has joined #pypy
oberstet has quit [Remote host closed the connection]
micisuta has joined #pypy
krono has joined #pypy
<mjacob_> arigato: good to know! i probably will have time from march 1st to april 4th.
<mjacob_> if i book the train ticket soon-ish, i might pay only 24.65€ for the 9:35 train ride from leipzig to leysin :)
rjarry_ is now known as rjarry
<cfbolz> apart from f-string support, 'from __future__ import annotations' is implemented
<cfbolz> now f-strings will probably take the remaining 90% of the time
<kenaan> cfbolz py3.7 771817286c04 /pypy/interpreter/astcompiler/: progress on unparsing
<kenaan> cfbolz py3.7 17ba541ef13d /pypy/interpreter/astcompiler/codegen.py: typo
<kenaan> cfbolz py3.7 b7258d53fa17 /pypy/interpreter/astcompiler/: some more features. implement a visitor to replace annotations with constant strings
<kenaan> cfbolz py3.7 fa9634deaf0d /pypy/interpreter/: unparse annotations when __future__.annotations is imported
<mattip> yay
<kenaan> cfbolz py3.7 ebbe4d608409 /: xfail test that I don't know how to implement yet
<krono> happy new year everybody
lesshaste has joined #pypy
<lesshaste> hi all
<arigato> hi, happy new year to everyone too
<lesshaste> and to you too!
<mattip> as opposed to pyperformance, our approach to benchmarks depending on libraries has been to vendor them
<mattip> so we have a vendored sphinx, docutils, ... in the benchmark repo, where pyperformance manages a virtualenv
<cfbolz> mattip: yes, I still think that's the right approach. otherwise you lose all history constantly
<mattip> well, except that docutils does not ship a python2/python3 version
<mattip> so we cannot vendor a single version, we need to vendor two
<cfbolz> right :-(
<mattip> and internally docutils uses absolute imports, so I cannot just to "import docutils2 as docutils"
<mattip> maybe I can "rm -rf docutils; cp -r docutils3 docutils;" before the benchmark run
<cfbolz> or have docutils3/docutils and docutils2/docutils and mess with paths?
<mattip> also worth trying
<mattip> +1, that seems to work
<cfbolz> cool
jvesely has joined #pypy
jvesely has quit [Client Quit]
jvesely has joined #pypy
jvesely has quit [Quit: jvesely]
jvesely has joined #pypy
dddddd has joined #pypy
jvesely has quit [Quit: jvesely]
jvesely has joined #pypy
<cfbolz> Will look at the Syntax changes to async and await next
adamholmberg has joined #pypy
<Dejan> awesome
<Dejan> My company wants to switch to 3.7 but I told them to wait until there is support in PyPy for it
jacob22 has quit [Read error: Connection reset by peer]
<Dejan> luckily they listed to me sometimes
jacob22 has joined #pypy
<nedbat> Dejan: what feature do they want from 3.7?
<Dejan> Idk mate, we have ~40 devs working on different stuff
<Dejan> I am mostly working on distributed data processing (Celery/Airflow/Huey) so I am not in a big rush to move to 3.7
<Dejan> I think that Celery does not even work with 3.7 yet
jvesely has quit [Quit: jvesely]
<Dejan> I like the data classes for an example
jvesely has joined #pypy
<nedbat> Dejan: attrs works on your current Python if you want that kind of thing.
<Dejan> I know that some guys here use nanosecond resolution time functions that came with 3.7
jvesely has quit [Client Quit]
jvesely has joined #pypy
jvesely has quit [Quit: jvesely]
lritter has joined #pypy
<cfbolz> nedbat: I think even dataclasses do?
<lesshaste> what are the main topics for the upcoming sprint?
<arigato> unknown so far. there will be HPy certainly
<cfbolz> We don't even have a date yet
<arigato> cfbolz: do you agree pypy3 could uniformize a bit the following compiler behaviour:
<arigato> if you say "@foo; def f(x): pass", you only see the line number of the @foo, but not of the "def", so if setting the name 'f' into globals fails the reported line number will be wrong
<arigato> if you say "@foo; def f(x=expr): pass" then you see the line number because of the evaluation of 'expr'
<arigato> or else we try to be consistent with cpython, which has a similar behavior but differs in "@foo; def f(x=5):" because the 5 is a constant that is not really evaluated in pypy3 but is in cpython3
Rhy0lite has joined #pypy
jvesely has joined #pypy
<tos9> arigato: how unwise is it to try to use `clang -E` (as part of wheel building maybe?) to be a preprocessor for ffi.cdef
<tos9> it's not strictly necessary since I got what you / glyph suggested working already I think (or the even lazier way), but I'm curious
<arigato> tos9: it's a hack, it may work in some cases but you need to be ready to filter it out further
<arigato> and it generates something that only imports on the exact OS configuration where 'clang -E' was run
<tos9> arigato: yeah I was trying to figure out if I could tell `clang -E` to only give me the post-processed version of the exact header I want
<tos9> (and then when I didn't find that, I was going to parse that myself since it seems to be ordered, but then when I realized how many assumptions I have no idea about are inherent in those last two sentences I came to ask :)
Smigwell has joined #pypy
micisuta has quit [Ping timeout: 268 seconds]
siddhesh has joined #pypy
xcm has quit [Ping timeout: 265 seconds]
jvesely has quit [Quit: jvesely]
xcm has joined #pypy
xcm is now known as Guest12708
Guest12708 has quit [Killed (weber.freenode.net (Nickname regained by services))]
xcm has joined #pypy
jcea has joined #pypy
<cfbolz> arigato: I am all for trying to be more consistent
<cfbolz> I would say the def should always generate a line event
<arigato> OK, so not consistent with cpython3 but consistent with the idea
<cfbolz> Yes
<cfbolz> nedbat: do you have an opinion?
<cfbolz> arigato: aside, can you make the write to globals fail?
<cfbolz> Using exec with a strange object?
<arigato> cfbolz: yes, globals can be a user dict
<cfbolz> Right
<arigato> also, nedbat noticed the issue because of line tracing differences, and there are similar pdb differences
<cfbolz> So yes, always trace the def, emo
<cfbolz> Imo
<arigato> same in pypy vs. python2.7 actually
<cfbolz> Right
<nedbat> cfbolz: hi, this is about the issue I wrote?
<cfbolz> I think so
<nedbat> oh, but arigato is talking about a different implication of the line number assignments.
<arigato> yes, mostly trying to understand why we (and cpython) get this strange behaviour and how to fix it
<cfbolz> right
<nedbat> if it's any consolation, i write a few issues like this against CPython with each alpha they release
<cfbolz> but we all agree that always getting def would be great?
<arigato> ah, another example where it can really show up: with decorated classes
<arigato> when the metaclass is called
<arigato> the current line number on cpython is the one of the last decorator
<cfbolz> yes, also not so good
<nedbat> my interest is mainly to understand the logic so that coverage.py can do the right thing.
<nedbat> the resolution of the issue is sometimes, "yup, that's the new way", and sometimes, "oh, let me fix that"
jvesely has joined #pypy
<arigato> of course, code like that gets reported with a bogus firstlineno:
<arigato> @ \
<arigato> foo
<arigato> def f():
<arigato> pass
<arigato> ...no, wrong
<arigato> pfff, seems there is no place to store the lineno of the 'def' or 'class' keyword in the current AST model
<cfbolz> arigato: why not?
<arigato> there is a lineno on the ast.FunctionDef, but it is overwritten with the line of the first '@'
<cfbolz> arigato: right
<cfbolz> yes, position info is really bad in the current asts
<cfbolz> eg there is also no way to get the position of the + in:
<cfbolz> + b
<cfbolz> a \
<arigato> right
<cfbolz> arigato: 3.8 adds a "lastlineno", fwiw
<cfbolz> but you'd also need a "here's where the language feature itself is"
<arigato> I don't know "lastlineno" but it smells a lot like a hack to add some of the missing info in some cases
<cfbolz> yeah
<cfbolz> I am not even sure it's exposed outside of the ast
<arigato> it needs to be visible from the ast module, no?
<cfbolz> yes, but not the code object or anything
<arigato> OK
<cfbolz> arigato: I still would kind of like tracebacks to underline the part of the expression that caused the error. but it's work
<arigato> we could easily add on a case-by-case basis missing lineno's, but that means exposing more attributes on the ast module and being ready if they are not present when someone makes an ast by hand
<arigato> tracebacks: that would be awesome, but it's surely a lot of work
<cfbolz> arigato: I might play with it more
<cfbolz> The main problem really is missing pos info
<cfbolz> Too many ideas, too little time, as usual
<arigato> same here, instead of refactoring the world I'm just following CPython 3.6.9 now
<cfbolz> arigato: fair enough
<kenaan> arigo py3.6 d36692105171 /pypy/interpreter/astcompiler/: Test and fix: follow CPython (at least 3.6.9) in updating the line number if it decides to constantify the whole tupl...
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
<kenaan> arigo py3.6 a0e3294e5d1d /pypy/interpreter/astcompiler/test/test_astbuilder.py: Fix typo in test
jvesely has quit [Quit: jvesely]
<kenaan> cfbolz py3.7 1758bd2014d8 /pypy/interpreter/astcompiler/: fstring support
<kenaan> cfbolz py3.7 fcec4f8b9fb2 /pypy/interpreter/astcompiler/: remove the f, if possible
<kenaan> cfbolz py3.7 51dba005edf3 /pypy/interpreter/pyparser/data/Grammar3.7: import 3.7 grammar from cpython
<kenaan> cfbolz py3.7 3749f66b8f56 /pypy/interpreter/pyparser/data/Grammar3.7: import PyPy modifications (for revdb)
<kenaan> cfbolz py3.7 c345fa010218 /pypy/interpreter/: switch to the 3.7 grammar, which makes it possible to stop using the hacks in the tokenizer
<kenaan> cfbolz py3.7 d024dd626c73 /pypy/interpreter/astcompiler/: await support in unparsing
micisuta1 has joined #pypy
xcm has quit [Remote host closed the connection]
<kenaan> cfbolz py3.7 ac723fe5ecad /pypy/interpreter/pycode.py: hack differently to make PyCode.dump (and thus test_pycode) work
xcm has joined #pypy
jvesely has joined #pypy
<nedbat> arigato: i'm falling behind here: are you saying you're changing pypy to match cpython in the linenumbers?
<cfbolz> arigato: yes, I think thato what he did, for this case
<nedbat> cfbolz: oh, i missed that he had resolved the ticket. thanks.
<cfbolz> :-)
<cfbolz> nedbat: thanks for fighting these super hairy problems all the time!
<nedbat> :)
<kenaan> cfbolz py3.7 f69a090e703c /pypy/module/token/: maybe fix the token errors
<kenaan> cfbolz py3.7 4887e271842a /pypy/objspace/std/: better error message for object.__new__
<cfbolz> Some nice demessifications in 3.7
jvesely has quit [Quit: jvesely]
<mattip> <spam>
<mattip> I got benchmarks to run on python2/3, but could not update reitveld
<mattip> unfortunately it is a massive update to the vendored libraries
<mattip> next up: improved buildbot so it can run pypy3 benchmarks
<kenaan> mattip benchmarks[chameleon] 88b0250f4c41 /: use 42 as a sentinel exit code when running a python2-only benchmark on python3 If the python runni...
<kenaan> mattip benchmarks[chameleon] ab6c3e5c29b6 /lib/cpython-doc/: update sphinx to 1.8.5
<mattip> heh, out of the 15 commits, kenaan shows only 2?
<mattip> </spam>
Rhy0lite has quit [Quit: Leaving]
<kenaan> cfbolz py3.7 1d123ac3bc5a /pypy/interpreter/astcompiler/unparse.py: fix translation
<kenaan> cfbolz py3.7 94f0acbc392d /lib-python/3/test/test_contextlib.py: fix test
<kenaan> cfbolz py3.7 1412c2b6d12a /lib_pypy/_decimal.py: just import _collections_abc directly
<arigato> mattip: I would guess it's a result of bitbucket slow degradation over time, and not a fault of kenaan itself
<mattip> it's actually nice, we should find out what it is doing and make it part of the script :)
<mattip> keeps the spam down
<kenaan> rlamy py3.6-sqlite 614cd53df90c /: Tests and fix for the 'table locked' issue
lesshaste has quit [Ping timeout: 260 seconds]
<kenaan> rlamy py3.6-sqlite cdcc30d43196 /lib-python/3/sqlite3/test/regression.py: Fix refcounting semantics dependency in stdlib test
jvesely has joined #pypy
Ai9zO5AP has joined #pypy
<kenaan> cfbolz default faec3f511013 /rpython/rlib/unicodedata/: import unicode 11.0.0
xcm has quit [Remote host closed the connection]
<kenaan> cfbolz py3.6 7d7adfbb545b /: merge default
xcm has joined #pypy
<mattip> cpython still uses buildbot. They added an integration to github that can trigger buildbots from a PR
<kenaan> cfbolz default 6166d0635a36 /rpython/rlib/unicodedata/: waaaaa, please don't compare versions as strings :-(
<kenaan> cfbolz py3.7 338458b7bc73 /rpython/rlib/unicodedata/: merge heads
<kenaan> cfbolz py3.7 6fc65fdb504c /pypy/module/unicodedata/: switch to unicode version 11
TheNewbie has joined #pypy
micisuta has joined #pypy
micisuta1 has quit [Ping timeout: 258 seconds]
micisuta has quit [Ping timeout: 258 seconds]
adamholmberg has quit [Remote host closed the connection]