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
<energizer>
is there a 'success stories' page or list of companies/projects that use PyPy in production?
<mattip>
all the "SystemError: END_FINALLY not properly nested in this bytecode" seem to be fixed,
<mattip>
there is still a "SystemError: POP_BLOCK not properly nested in this bytecode"
<mattip>
in test_sys_settrace
<cfbolz>
energizer: no, we always wanted one but never got organized enough
<mattip>
there are also a few exception message mismatches, nothing important
<energizer>
cfbolz: it might be nice to just have a "please let us know if your company is using pypy" on pypy.org, so at least you'd have a collection
speeder39_ has quit [Quit: Connection closed for inactivity]
<YannickJadoul>
Silly thing, but how closely does PyPy want to match CPython's error messages?
<YannickJadoul>
I found "duplicate base class '%N'" in PyPy, but "duplicate base class %U" in CPython, yesterday
<mattip>
if it is easy to fix, go for it. If it is annoying, skip it.
<mattip>
I don't think %U is supported, so it might be annoying
<YannickJadoul>
mattip: Ah, right, like that. It's literally one line, but I didn't know if I was nitpicking or not
<mattip>
there is a note in pypy/interpreter/error.py oefmt that %N will always be %U in py3.6 and up
<mattip>
do you see a different error when the error is produced?
antocuni has joined #pypy
Rhy0lite has joined #pypy
antocuni has quit [Ping timeout: 245 seconds]
<YannickJadoul>
mattip: The thing I noticed when writing a test, was that there were no extra quotes
<YannickJadoul>
"duplicate base class 'BaseB'"
<YannickJadoul>
vs. "duplicate base class BaseB"
<mattip>
where PyPy adds the quotes? I like that better, it clearly deliniates the class name. So make the test only check the "duplicate base class" part
<YannickJadoul>
Yes, indeed
<YannickJadoul>
Just noticed the difference and thought I'd be worth mentioning
<mattip>
ok, thanks
<fijal>
YannickJadoul: the exact error messages are not part of python standard
<fijal>
we should strive to be as good or better than cpython though
<fijal>
so "cpython gives a better error message" -> valid bug report. "pypy gives a more specific error" -> not a bug
<YannickJadoul>
fijal: OK, thanks, that makes sense :)
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
xcm has quit [Remote host closed the connection]
<mattip>
the remaining errors in test_sys_trace have to do with asyncio, and there are some exception mismatches
<mattip>
when looking at the fset_f_lineno function (in pyfram) it seems we are quick to raise "if not d.is_in_line_tracing",
xcm has joined #pypy
<mattip>
at that point in the code CPython is a bit more picky, the comment says it lets YEILD_VALUE and YEILD_FROM opcodes through
<mattip>
might that be a difference?
jcea has quit [Quit: jcea]
DarkUranium has joined #pypy
<DarkUranium>
Hey guys. Is, uh, this the place to aska bout RPython?
<cfbolz>
yes
<DarkUranium>
Neat. So, I haven't used it before, and my question is two-fold: 1) Does RPython produce code that could be *embedded* in another C application? and 2) Does RPython compile to platforms it does not have a JIT for? (obviously, only using the interpreter on such platforms)
dddddd has joined #pypy
<Dejan>
DarkUranium, your nick seems familiar :)
<DarkUranium>
hehe
<DarkUranium>
I remember yours, too, but dunno from where.
<Dejan>
where you on the #D channel sometimes?
<DarkUranium>
I see you're also in #d, but I don't think that's where I remember it from.
<DarkUranium>
Yes.
<DarkUranium>
(afk for ~20 mins; sorry, bad timing!)
<Dejan>
that is probably
<Dejan>
sure, no probs
<Dejan>
i am at work too
<DarkUranium>
I'm not anymore, but I gotta eat :D
<mattip>
1) RPython is used for creating interpreters, so you want to embed an interpreter in a C application?
<fijal>
there is some embedding support in RPython
<fijal>
2) RPython compiles to ANSI C - so yes, it's possible to have it for platforms where JIT is not supported. What platforms do you have in mind?
xcm has joined #pypy
antocuni has joined #pypy
<DarkUranium>
Dejan, back!
<DarkUranium>
mattip, w.r.t. #1, yes.
xcm has quit [Remote host closed the connection]
<DarkUranium>
fijal, for now, only iOS (where the lack of JITs is a policy thing, not a technical requirement). But eventually, microcontrollers (assuming RPython fits)
<DarkUranium>
Not gonna lie, I'm only interested in RPython for prototyping.
<DarkUranium>
But I *would* like for even the prototypes to work on all the relevant platforms.
xcm has joined #pypy
<fijal>
I think RPython is not very good for microcontrollers
<DarkUranium>
fijal, that's the one thing where it's not too critical, but point remains.
<DarkUranium>
A web backend would be nice for the JIT, for example.
<DarkUranium>
(like PyPy.js, but y'know, not unmaintained)
<DarkUranium>
(and nowadays, WebASM might make more sense than asm.js)
<fijal>
that's a potential target, but it requires quite a bit of work
<DarkUranium>
Yeah. Especially given what a mess webasm is.
<cfbolz>
webasm is still missing a few features to be *really* useful for pypy
<cfbolz>
rpython
<cfbolz>
eg right now you'd have to compile the GC to webasm, which is a bit of an antipattern, given that the VM has a perfectly good gc already
<DarkUranium>
I know.
<cfbolz>
the feature is going to come though eventually, I hope
<DarkUranium>
I also know it's poorly-designed (its approach to locals makes proper optimization difficult, the lack of arbitrary jumps can slow down even switch() [not relevant for Python, but it is for C-like langs], etc)
marky1991 has joined #pypy
marky1991 has quit [Read error: Connection reset by peer]
marky1991 has joined #pypy
xcm has quit [Remote host closed the connection]
tsaka__ has quit [Read error: Connection reset by peer]
tsaka__ has joined #pypy
xcm has joined #pypy
xcm has quit [Killed (orwell.freenode.net (Nickname regained by services))]
xcm has joined #pypy
<kenaan>
mattip py3.6 388678c00faf /pypy/interpreter/pyframe.py: remove windows ^M line endings
<kenaan>
rlamy py3.6 22433dc6e71c /pypy/: Fix race condition with SemLock that would sometimes cause a deadlock when using multiprocessing and threads together.
<ronan>
mattip: is it too late to get that into the release?
<mattip>
nope, I kicked the wrong version so will have to rebuild anyway. Seems like an important fix too
<mattip>
"test_stuff" - hehe
<mattip>
ronan: I will let the bots finish everything I started, so it will be a day or two till I redo the 3.6 release
<ronan>
oops, I forgot to change the test name
marky1991 has quit [Quit: Saliendo]
<fijal>
mattip: can I say that ARM should be capitalized as Arm in Arm Holdings or should I just fix it myself?