cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://botbot.me/freenode/pypy/ ) | use cffi for calling C | the secret reason for us trying to get PyPy users: to test the JIT well enough that we're somewhat confident about it
L0S has joined #pypy
L0S has quit [Remote host closed the connection]
mattip_ has left #pypy [#pypy]
mattip has joined #pypy
bbot2 has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Ping timeout: 260 seconds]
dddddd has quit [Remote host closed the connection]
James_T19 has joined #pypy
James_T19 has quit [Remote host closed the connection]
therock247uk18 has joined #pypy
therock247uk18 has quit [Remote host closed the connection]
raynold has joined #pypy
raynold has quit [Killed (Unit193 (Spam is not permitted on freenode.))]
lritter has joined #pypy
__peke__ has quit [Excess Flood]
__peke__ has joined #pypy
Torgeir has joined #pypy
Torgeir has quit [Remote host closed the connection]
Davnit26 has joined #pypy
Davnit26 has quit [Remote host closed the connection]
vok` has joined #pypy
vok` has quit [Remote host closed the connection]
[Arfrever] has quit [Remote host closed the connection]
[Arfrever] has joined #pypy
arigato has joined #pypy
<kenaan> arigo default 090965df249b /rpython/rlib/rposix.py: Issue 2870 Fix Windows os.listdir() for some cases (see CPython #32539 for the fix and the test that will show up ...
arigato has quit [Quit: Leaving]
moei has quit [Quit: Leaving...]
arigato has joined #pypy
tayfun26 has joined #pypy
tktech29 has joined #pypy
tktech29 has quit [Remote host closed the connection]
udono1 has left #pypy [#pypy]
Madcotto26 has joined #pypy
danchr has joined #pypy
Madcotto26 has quit [Remote host closed the connection]
forgottenone has joined #pypy
Garen_ has joined #pypy
Garen has quit [Read error: Connection reset by peer]
Garen_ has quit [Read error: Connection reset by peer]
Garen has joined #pypy
arigato has quit [Quit: Leaving]
Ragnor4 has joined #pypy
fryguybob has quit [Remote host closed the connection]
moei has joined #pypy
Ragnor4 has quit [Remote host closed the connection]
kenaan has quit [Read error: Connection reset by peer]
bendlas[m] has quit [Read error: Connection reset by peer]
steven18 has joined #pypy
steven18 has quit [Remote host closed the connection]
bendlas[m] has joined #pypy
les27 has joined #pypy
les27 has quit [Remote host closed the connection]
annieslmaos has joined #pypy
annieslmaos has quit [Remote host closed the connection]
Compu has joined #pypy
Compu has quit [Remote host closed the connection]
fryguybob has joined #pypy
Sigyn has quit [Quit: People always have such a hard time believing that robots could do bad things.]
Sigyn has joined #pypy
Guest30781 has joined #pypy
Guest30781 has quit [Remote host closed the connection]
tayfun26 has quit [Quit: tayfun26]
tayfun26 has joined #pypy
marky1991 has joined #pypy
dddddd has joined #pypy
Guest73139 has joined #pypy
Guest73139 has quit [Remote host closed the connection]
tayfun26 has quit [Quit: tayfun26]
tayfun26 has joined #pypy
JamesR has joined #pypy
JamesR has quit [Remote host closed the connection]
marky1991 has quit [Ping timeout: 268 seconds]
exio425 has joined #pypy
exio425 has quit [Ping timeout: 260 seconds]
the_drow has joined #pypy
<the_drow> Is this Cython's fault our cpyext? https://github.com/grpc/grpc/pull/16364
adamholmberg has joined #pypy
marky1991 has joined #pypy
Rhy0lite has joined #pypy
<LarstiQ> hmm, when is `is` safe on integers?
<gsnedders> IIRC, PyPy matches CPython's behaviour? (IIRC -5 to 256)
<Alex_Gaynor> Depending on what you mean by "safe", I'd have to go with "never", just don't do it.
<gsnedders> but that's very much unspecified that interning happens then
<LarstiQ> Alex_Gaynor: that would be my first reaction too
<LarstiQ> but Cython may want a more nuanced answer
* cfbolz waves
tayfun26 has quit [Quit: tayfun26]
tayfun26 has joined #pypy
<cfbolz> LarstiQ: hm, I suppose cython might have a problem if it turns "is" on integers into == on the C level
<cfbolz> LarstiQ: in pypy, that is absolutely never safe
<LarstiQ> cfbolz: other way around, or am I confused?
<cfbolz> LarstiQ: well, if you implement python-level "is" with a C level == pointer compare, you get confusing results for ints
<cfbolz> so if cython compiles "is" to "==", that could lead to problems
<LarstiQ> cfbolz: aaah, "== on the C level", right
* LarstiQ misparsed
<cfbolz> np
<cfbolz> hm, now that I think about it, that's an incompatibility that we can't really fix at all
<cfbolz> LarstiQ: eg if l is a pointer to a list of ints, then this C snippet would evaluate to False: PySequence_GetItem(l, 0) == PySequence_GetItem(l, 0)
<mattip> I think that in the case under discussion in gRPC, using `is` was a bug that both cython and cpython knew to work around. We are less forgiving.
<mattip> so the answer to the_drow is that it is gRPC's fault.
<cfbolz> mattip: yes, sorry, I was more generally pondering about the problem and got sidetracked
<mattip> we should teach python linters to warn on use of `is`, unless they are used with True, False, or None
<cfbolz> well, for objects they can be fine too
<tos9> probably would need to be a whitelist
<tos9> int, dict, list, string literals
<cfbolz> mattip: anyway, in python the problem is solved
<cfbolz> Because our is does the right thing
<marky1991> I use is with object() sentinels to see if a kwarg wasn't passed too
<marky1991> (when None is a valid value thatI need to distinguish)
<cfbolz> But not with cpyext where people sometimes use == on pyobject*
<the_drow> wonderful :)
<mattip> marky1991: we digress, but that sounds like one of the cases I would flag as "needs rethinking".
<mattip> marky1991: are you sure you cannot give a single default kwarg value?
<marky1991> any other value is a plausible parameter that the user actually passed
<marky1991> and i need different behavior if the user didn't pass anything at all
<marky1991> e.g. if you don't pass this extra arg and you're in this particular flow, the function should raise an exception
<marky1991> otherwise, so long as they passed something at all (None is fine), proceed
<marky1991> None is the obvious solution for that kind of sentinel, but that breaks when None is a valid data value
<marky1991> obviously, in the object() case, I could just as well use ==
<marky1991> but it feels weird to use == for object() but "is" for None to me anyway. The two should use the same logic imo anyway
<marky1991> I still wonder why we decided on "is None" personally. But not a subject for #pypy
Kronuz has quit [Ping timeout: 244 seconds]
Kronuz has joined #pypy
forgottenone has quit [Remote host closed the connection]
forgottenone has joined #pypy
adamholm_ has joined #pypy
adamholmberg has quit [Ping timeout: 272 seconds]
tayfun26 has quit [Remote host closed the connection]
marky1991 has quit [Ping timeout: 256 seconds]
marky1991 has joined #pypy
adamholm_ has quit [Read error: Connection reset by peer]
adamholmberg has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
Ks0stm22 has joined #pypy
Ks0stm22 has quit [Remote host closed the connection]
marky1991 has quit [Ping timeout: 240 seconds]
marky1991 has joined #pypy
Kingsy8 has joined #pypy
Kingsy8 has quit [Ping timeout: 260 seconds]
Aprexer has joined #pypy
Aprexer has quit [Remote host closed the connection]
adamholmberg has quit [Remote host closed the connection]
the_drow has quit [Ping timeout: 268 seconds]
adamholmberg has joined #pypy
adamholmberg has quit [Read error: Network is unreachable]
adamholmberg has joined #pypy
Rhy0lite has quit [Quit: Leaving]
forgottenone has quit [Read error: Connection reset by peer]
forgottenone has joined #pypy
Kipras_ has joined #pypy
altendky has joined #pypy
Michail1 has joined #pypy
Michail1 has quit [Remote host closed the connection]
L23514 has joined #pypy
L23514 has quit [Remote host closed the connection]
Hasimir has quit [Read error: Connection reset by peer]
TheAdversary has quit [Read error: Connection reset by peer]
Hasimir has joined #pypy
richardjohn has joined #pypy
Iota25 has joined #pypy
Iota25 has quit [Remote host closed the connection]
richardjohn has quit [Remote host closed the connection]
marky1991 has quit [Ping timeout: 240 seconds]
the_drow has joined #pypy
the_drow has quit [Remote host closed the connection]
altendky has quit [Quit: Connection closed for inactivity]
marky1991 has joined #pypy
TheAdversary has joined #pypy
marky1991 has quit [Read error: Connection reset by peer]
marky1991 has joined #pypy
altendky has joined #pypy
marky1991 has quit [Read error: Connection reset by peer]
adamholmberg has quit [Remote host closed the connection]
jcea has quit [Ping timeout: 265 seconds]
bbot2 has quit [Killed (Sigyn (Spam is off topic on freenode.))]
jcea has joined #pypy
TriJetScud7 has joined #pypy
TriJetScud7 has quit [Remote host closed the connection]
forgottenone has quit [Ping timeout: 240 seconds]
forgottenone has joined #pypy
kenaan has joined #pypy
<kenaan> mattip py3.5 0ebfd8239706 /pypy/module/cpyext/test/test_object.py: fix test for python3 api
<kenaan> mattip unicode-utf8-py3 45f1dd7255ba /pypy/: error.strerr now returns utf8, uni_length; fitting for space.newtext
<kenaan> mattip unicode-utf8-py3 945e1048b6b4 /pypy/module/cpyext/test/: str_w -> text_w, raises -> pytest.raises (python3 testing artifact?)
<kenaan> mattip unicode-utf8-py3 30294b8f3847 /pypy/: fill out missing code paths hit by cpyext testing
<kenaan> mattip unicode-utf8-py3 abfed62d2e22 /pypy/module/cpyext/test/test_object.py: merge py3.5 into branch