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
asmeurer_ has quit [Quit: asmeurer_]
CrazyPython has joined #pypy
_whitelogger has joined #pypy
jvesely has joined #pypy
jvesely has quit [Read error: Connection reset by peer]
jvesely has joined #pypy
tos9 has quit [Remote host closed the connection]
tos9 has joined #pypy
jcea has quit [Quit: jcea]
CrazyPython has quit [Remote host closed the connection]
CrazyPython has joined #pypy
dddddd has quit [Remote host closed the connection]
CrazyPython has quit [Remote host closed the connection]
CrazyPython has joined #pypy
CrazyPython has quit [Ping timeout: 260 seconds]
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
oberstet has joined #pypy
jvesely has quit [Read error: Connection reset by peer]
jvesely has joined #pypy
jvesely has quit [Ping timeout: 265 seconds]
epony has quit [Ping timeout: 258 seconds]
epony has joined #pypy
xcm has quit [Read error: Connection reset by peer]
xcm has joined #pypy
nopf has joined #pypy
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
jcea has joined #pypy
kipras`away has quit [Ping timeout: 260 seconds]
kipras`away has joined #pypy
xcm has quit [Remote host closed the connection]
lritter has joined #pypy
xcm has joined #pypy
dddddd has joined #pypy
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
tos9 has quit [Quit: Bye]
tos9 has joined #pypy
YannickJadoul has joined #pypy
Dejan has joined #pypy
Dejan has quit [Changing host]
Dejan has joined #pypy
<Dejan> Any plays for 3.7 ? :)
<Dejan> plans*
<tos9> Dejan: There's a py3.7 branch.
<Dejan> Yea, but for some reason it fails to build for last few weeks. cfbolz explained to me once what is going on but I forgot...
<Dejan> :)
CrazyPython has joined #pypy
CrazyPython has quit [Read error: Connection reset by peer]
raphaelm has joined #pypy
<raphaelm> Hello! I'm interested in the semantics of Python in general. As such I was wondering: how do you test that Pypy matches CPython's behavior? Which tests do you use? (I opened an issue on gitlab but mattip recommended discussing this on irc)
<cfbolz> raphaelm: a many pronged strategy ;-)
<cfbolz> we run the CPython test suite, we write our own tests and run those on CPython
<mattip> raphaelm: maybe describe a bit more the motivation of your question:
<mattip> are you considering creating your own interpreter?
<mattip> did you encounter a mismatch that seems concerning?
<mattip> would you like to get involved and are wondering how we know what to work on?
<raphaelm> Thank you! I'm writing a static analyzer (similar to Google's pytype), which can be seen as an interpreter (although it tries to explore all reachable program states, in some sense). As such I have to figure out Python's semantics. My current approach has been to read the doc and often read CPython implementation. I'd now like to test that my tool
<raphaelm> is correct, ie that it respects Python semantics. Currently, I'm especially interested in tests about the "core" semantics of Python (such as for loops using the iter and next methods ; attribute accesses ; variable scope). I guessed you guys probably have some more tests than the one written in cpython.
<cfbolz> raphaelm: yes, we definitely have some more tests
<cfbolz> the easy to understand ones are in file names apptest_*.py, throughout the repository
<raphaelm> So, no mismatch found between Pypy and CPython. Sadly, I don't have enough time to contribute to pypy's core for now, but I'm trying to clear up
<cfbolz> raphaelm: no, there are definitely some mismatches
<raphaelm> (sorry), but I'd be glad to clarify Python semantics one way or another, as well as maybe extend the pyperformance benchmarks
ionelmc has joined #pypy
<raphaelm> cfbolz: thank you! I'll take a look at these tests. I'm aware there are some mismatches, I just wanted to clarify I haven't found new cases
<cfbolz> raphaelm: right
<cfbolz> raphaelm: we also have this document: https://doc.pypy.org/en/latest/cpython_differences.html
<raphaelm> those apptest_* are really nice, thank you!
<raphaelm> yes, I learned quite a few things from this page, thanks
<njs> raphaelm: you might find it interesting to get in touch with Mark Shannon: https://pyfound.blogspot.com/2020/04/a-formal-specification-for-cpython.html
<raphaelm> njs: oh, my next question was about standardizing Python language. That's very interesting, thanks a lot!
jvesely has joined #pypy
<raphaelm> I'm also wondering: have you ever discussed about a standardization of Python with CPython developers? I think that most languages are defined through a standard rather than an interpreter
<ronan> marmoute: I can't push due to a server error. Help?
<ronan> (I'm getting a long remote traceback ending with remote: LookupError: Can't find public descendants of '53b86a37acef955d060e59535d8bde676933c1d1' in topic 'BO-fix-doc-source-links')
<marmoute> ronan: mattermost is the right place to report this. Share the full traceback there
<mattip> marmoute: which channel?
* ronan guesses 'FOSS instance'
<cfbolz> raphaelm: i don't think there were serious discussions about standardization ever
<raphaelm> thank you!
<cfbolz> raphaelm: there are some formalization attempts though, in addition to what nathaniel linked there's also the work by Joe Gibbs Politz etal: http://cs.brown.edu/research/plt/dl/lambda-py/
raphaelm has quit [Ping timeout: 245 seconds]
raphaelm has joined #pypy
<raphaelm> I'm a bit more up-to-date with the academic works (I'm a PhD student working on static analyses of python), but I don't think these attempts provide an understandable semantics for most of the community
<cfbolz> raphaelm: ah, nice, which uni/group?
<raphaelm> It's called Sorbonne Université in Paris. We're mainly doing static analysis by abstract interpretation
<cfbolz> raphaelm: cool (our type inference of rpython is abstract-interpretation-based)
<raphaelm> Yes, one reviewer pointed us to RPython recently ^^ We're trying to push the inference to take into account object mutation through some heap abstractions, and to value inference too
oberstet has quit [Remote host closed the connection]
<bbot2> Started: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/8148 [ronan: force build, py3.7]
<cfbolz> raphaelm: RPython has a much simpler job, of course. We simply don't support the hard things
BPL has joined #pypy
YannickJadoul has quit [Remote host closed the connection]
<bbot2> Failure: http://buildbot.pypy.org/builders/own-linux-x86-64/builds/8148 [ronan: force build, py3.7]
lritter has quit [Quit: Leaving]
<raphaelm> cfbolz: you still support most of Python's semantics ;)
<cfbolz> Only the easy parts
raphaelm has quit [Remote host closed the connection]
BPL has quit [Quit: Leaving]
dddddd_ has joined #pypy
dddddd has quit [Ping timeout: 258 seconds]
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
xcm has quit [Read error: Connection reset by peer]
xcm has joined #pypy
mattip_ has joined #pypy
mattip has quit [Ping timeout: 246 seconds]