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
pf_moore has quit [Quit: Connection closed for inactivity]
<mattip>
arigato: maybe the justification belongs in a cffi FAQ?
exarkun has quit [Read error: Connection reset by peer]
asmeurer_ has joined #pypy
exarkun has joined #pypy
<antocuni>
mattip: the cython warning situation is annoying; the problem is that most packages seems to distribute the cython-compiled C files in the tarball
<antocuni>
so even if you install the latest cython, the C files are not regenerated
<antocuni>
not sure how to solve it; I fear the only way is to wait each package to release a new version with regenerated C files :(
<antocuni>
or, alternatively and very hacky: we install a custom warning filter which suppresses this specific warning
oberstet has joined #pypy
mcyprian has joined #pypy
mcyprian has quit [Client Quit]
<arigato>
njs: I'm just saying, we have two different mechanisms for concurrency: async and nurseries. it would be nice if they were only one
<arigato>
njs: so I was musing on how to merge them, in a way that additionally removes a too-powerful escape hatch, namely sticking nurseries in globally-accessible places
asmeurer_ has quit [Quit: asmeurer_]
asmeurer_ has joined #pypy
adamholmberg has joined #pypy
inad922 has quit [Ping timeout: 263 seconds]
adamholmberg has quit [Ping timeout: 256 seconds]
marr has joined #pypy
antocuni has quit [Ping timeout: 264 seconds]
<mattip>
antocuni (for the logs): +1 for waiting, numpy for instance should be releasing soon
inad922 has joined #pypy
lesshaste has quit [Quit: Leaving]
inad922 has quit [Ping timeout: 248 seconds]
exarkun has quit [Read error: Connection reset by peer]
<arigato>
I don't have more thoughts than "wat", really
<antocuni>
at first I though it was an april's fool, but it seems it's for real
<arigato>
the fact that this PEP is even proposed just makes me very sad
<antocuni>
can we please make pypy 2.8? :)
<marky1991>
wow, so does no one else like it either?
<marky1991>
from the python-dev email lists, I thought there was more support for it
<arigato>
I'll be honest and say that I'm getting used to editing C# in an editor which supports "always correct" completion
<arigato>
this contributes to lowering even further my opinion of recent Pythons...
<antocuni>
every time I have to program in Java, I always miss the dynamicity of Python and hate the verbosity and unnecessary complexity. Same with early versions of C#, but I have to admit that I never used the recent ones, which might be better in that sense
<arigato>
yes, I think so, at least a bit
<antocuni>
so better that the code completion is enough to compensate for the missing pythonicity? (real question, not ironic)
<arigato>
no :-)
<arigato>
I'm not saying C# is better than python, but more that maybe some middle ground would be better than both
<antocuni>
rpython!
<arigato>
I guess you're ironic here :-)
<antocuni>
it's like the worst of both worlds :)
<arigato>
success!
<antocuni>
well, actually a "proper" rpython could probably be the best of both worlds
<antocuni>
like, having a clear way to do metaprogramming, and a saner static typesystem
<antocuni>
simpson: well, actually I think that the execution order chosen by python is sane, and it's what I'd expect. I don't understand why the full expression returns 1 in monte
<antocuni>
what I don't like is the general need of an assignment expression, the ugly syntax, and the fact that they seem to keep putting new features into python, making it unnecessarily complex
<simpson>
antocuni: Because m`1 & 2 | 3` parses like m`1 & (2 | 3)`. (And maybe that's a bad thing?)
<arigato>
let's write a PEP that proposes to remove half of the syntax
<simpson>
Ah, yeah, Python's assignment semantics just keep getting worse.
<simpson>
m`2 + (x := 3)` and m`var x := 2; x + (x := 3)` evaluate the same in Monte though, unlike in this PEP.
<antocuni>
simpson: ok, but so I assume that "1 & 2" returns 1 instead of 2? That's the opposite of python, where "1 and 2" returns 2
<antocuni>
so both are consistent, it seems
<arigato>
antocuni: that's base-two "and", I guess
<antocuni>
ah
mattip has left #pypy ["bye"]
<simpson>
Yeah, Monte will actually type-error on that last one with the logical AND. Can't apply logical AND to ints, only bools.
marky1991 has quit [Remote host closed the connection]
marky1991 has joined #pypy
oberstet has joined #pypy
tbodt has joined #pypy
oberstet has quit [Ping timeout: 240 seconds]
asmeurer_ has joined #pypy
asmeurer_ has quit [Ping timeout: 240 seconds]
adamholm_ has joined #pypy
adamholmberg has quit [Ping timeout: 260 seconds]
agronholm_ is now known as agronholm
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
antocuni has quit [Ping timeout: 256 seconds]
lazka has quit [Quit: Leaving]
tbodt has joined #pypy
adamholm_ has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Read error: Connection reset by peer]
adamholmberg has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
adamholmberg has quit [Read error: Connection reset by peer]
adamholmberg has joined #pypy
asmeurer__ has joined #pypy
exarkun has quit [Read error: Connection reset by peer]
tbodt has joined #pypy
exarkun has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
energizer has joined #pypy
jaffachief has joined #pypy
mcyprian has joined #pypy
mcyprian has left #pypy [#pypy]
jaffachief has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
tbodt has quit [Client Quit]
tbodt has joined #pypy
jaffachief has joined #pypy
jaffachief has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jaffachief has joined #pypy
nanonyme has quit [Remote host closed the connection]
nanonyme 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
raynold has joined #pypy
Rhy0lite has quit [Quit: Leaving]
jaffachief has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jaffachief has joined #pypy
marky1991 has quit [Ping timeout: 240 seconds]
jaffachief has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
tbodt has joined #pypy
jaffachief has joined #pypy
adamholmberg has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholm_ has joined #pypy
adamholmberg has quit [Ping timeout: 248 seconds]
adamholm_ has quit [Remote host closed the connection]
adamholmberg has joined #pypy
adamholmberg has quit [Read error: No route to host]
<njs>
arigato: async is not a concurrency mechanism, it's a way of annotating a regular sequential call to say "if there is some concurrency going on, then this is a place where I could be preempted"
<njs>
arigato: but async by itself doesn't give any way for execution to split into multiple tasks/whatever. for that you need something like callbacks/futures (asyncio) or nurseries (trio)
asmeurer__ has quit [Quit: asmeurer__]
asmeurer_ has joined #pypy
tbodt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
jaffachief has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]