arigato 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 | mac OS and Fedora are not Windows
dddddd has quit [Remote host closed the connection]
xcm is now known as Guest70441
Guest70441 has quit [Ping timeout: 245 seconds]
xcm has joined #pypy
jcea has quit [Quit: jcea]
dante has quit [Ping timeout: 255 seconds]
dante has joined #pypy
dante has quit [Remote host closed the connection]
dante has joined #pypy
danieljabailey has joined #pypy
danieljabailey has quit [Ping timeout: 245 seconds]
ronan has quit [Ping timeout: 258 seconds]
Zaab1t has joined #pypy
glyph has quit [Quit: End of line.]
glyph has joined #pypy
ronan has joined #pypy
Garen has quit [Ping timeout: 246 seconds]
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
forgottenone has quit [Quit: Konversation terminated!]
mattip_ is now known as mattip
<mattip> we haven't heard back about bencher4, maybe we should set up an alternative
* mattip should have copied the README-CHROOT to a safe location
<fijal> mattip: should I mail laurie too?
<fijal> mails get lost
<fijal> land in spam, etc.
<mattip> sure
<mattip> he replied that he was going to look into it on Wed "I will ping our systems people"
<mattip> Wed 2.27
k1nd0f has joined #pypy
ceridwen has quit [Remote host closed the connection]
Zaab1t has quit [Quit: bye bye friends]
vstinner_ has joined #pypy
vstinner has left #pypy ["User left"]
ceridwen has joined #pypy
k1nd0f has quit [Ping timeout: 245 seconds]
<fijal> done
<fijal> I asked our sysadmin people, but haven't heard :( The problem is that it's
<fijal> pretty much the last server that they have to manually poke and prod, so
<fijal> they're not very fast at dealing with requests these days. I will ask again.
forgottenone has joined #pypy
amitripshtos has joined #pypy
<mattip> +1, thanks
ambv^ has joined #pypy
ambv has quit [Ping timeout: 250 seconds]
<fijal> ambv^: hey
lritter has joined #pypy
<ambv^> fijal: ohai
vstinner_ has left #pypy [#pypy]
vstinner has joined #pypy
<fijal> ambv^: see PM
Remi_M has quit [Quit: See you!]
Remi_M has joined #pypy
dddddd has joined #pypy
dddddd has quit [Ping timeout: 245 seconds]
danieljabailey has joined #pypy
dddddd has joined #pypy
agronholm has quit [*.net *.split]
agronholm has joined #pypy
ajlawrence has joined #pypy
ajlawrence has quit [Client Quit]
k1nd0f has joined #pypy
k1nd0f has quit [Ping timeout: 246 seconds]
xcm has quit [Remote host closed the connection]
danieljabailey has quit [Ping timeout: 244 seconds]
xcm has joined #pypy
ambv^ has quit [Quit: Textual IRC Client: www.textualapp.com]
<kenaan> mattip newmemoryview-app-level 1c89b5e95a50 /lib_pypy/_ctypes/: handle memoryview of basic ctype arrays Pointers and Structures
<kenaan> mattip newmemoryview-app-level eb2e008d2181 /pypy/module/cpyext/parse/: hack to expand the max_ndims past numpy's limit
<mattip> numpy started to care about creating ndarrays from ctype objects via the buffer protocol.
<mattip> the newmemoryview-app-level branch enables creating compliant buffers. I think it is ready for review
Zaab1t has joined #pypy
<mattip> together with a numpy branch, https://github.com/mattip/numpy/tree/pypy-fixes-py27, this brings us down to one failing test on python2.7
<mattip> having to do with field packing in ctypes: sizeof(_fields_ = [('a', uint8), ('b', uint32)]) should be 5, we produce 8
hexa- has quit [Quit: WeeChat 2.4]
Zaab1t has quit [Quit: bye bye friends]
<Hodgestar> fijal: Re CythonIR -- would it perhaps be better to start with "Python with type annotation" instead of Cython?
<Hodgestar> fijal: The advantage is that it is really just Python.
<Hodgestar> fijal: There will of course be some problems to solve, but e.g. cdefs could become ordinary Python classes also with type annotations.
hexa- has joined #pypy
<Hodgestar> fijal: How to call C is a bit ??? but also feels solvable.
<mattip> Hodgestar: there is mypyc https://github.com/mypyc/mypyc
<Hodgestar> The point is really to have something that an ordinary Python interpreter could execute but that a JITted Python or specialize compiler could do better with.
<Hodgestar> So it would be a DSL, but one that is also valid Python.
<mattip> the problem with annotations is that they work well for simple cases, but get bogged down for defining class-with-attribute
<Hodgestar> mattip: Woot. It would likely be good to look at mypyc for ideas (and maybe someone the CPython compiler side could use that?)
<mattip> well, maybe. It is not designed for extensibility, but is good for what it needs to do (compile mypy to a c-extension to speed up resolving annotations)
<Hodgestar> They also have some sort of IR (not sure how relevant that is).
<mattip> isn't it llvm?
<mattip> llvm ir?
<mattip> cython has ctypedef, which is a nice mechanism to interop with python and define classes in C
<mattip> s/in C/and compiles to pretty clean C/
<mattip> fijal: bencher4 is back
<fijal> mattip: wee!
<kenaan> mattip buildbot d48bd03cc863 /README-CHROOT: add notes from bencher4 how to run/setup chroot
<mattip> now I hope I remember where that new doc is
antocuni has joined #pypy
jcea has joined #pypy
Rhy0lite has joined #pypy
xcm has quit [Remote host closed the connection]
xcm has joined #pypy
Ai9zO5AP has joined #pypy
mattip has quit [Ping timeout: 245 seconds]
mattip has joined #pypy
Zaab1t has joined #pypy
amitripshtos has quit [Quit: Leaving]
<Hodgestar> mattip: They seem to have their own IR (see mypyc/ops.py, I think). Maybe they have llvm too? Didn't look that far down yet.
<Hodgestar> mattip: Yes, I'm thinking of comething like ctypdef but that is just an ordinary Python class with type annotations and not something that needs a new parser.
<fijal> Hodgestar: the main reason why you don't use python is because it's impossible to convince numeric people to use python
<fijal> it's also impossible to write code in python that has sane multithreading semantics on data structures
<fijal> it has to be faster than python on Cpython essentially
<Hodgestar> fijal: The idea is that one would compile these Python functions to C and they would have some restrictions.
<Hodgestar> The pure Python implementation would just check that the restrictions are met.
<Hodgestar> And a decorator or something could substitute compiled implementations on CPython at import time.
<fijal> that seems like asking for trouble to me
<Hodgestar> Re convincing people: Yes, the downside is that it's yet another ecosystem.
<Hodgestar> The CythonIR project sort of has to replace almost all of Cython except the .pyx language though.
<Hodgestar> Anyway, mostly just throwing the thought out there for the moment.
<mattip> a new cython ir doesn't have to replace the documentation, the reams of code already written, the user experience, ...
<fijal> yeah I think the goal would be to not replace cython
<fijal> if we can take existing cython and compile it to something good that would be great
<mattip> it comes with good tests too
<arigato> there are tons of libraries written in Cython, so yes, the goal is likely to keep them as much working as possible
moei has joined #pypy
atomizer has quit [Ping timeout: 246 seconds]
atomizer has joined #pypy
lritter has quit [Ping timeout: 255 seconds]
kipras has joined #pypy
Kipras_ has joined #pypy
* Hodgestar nods.
kipras has quit [Ping timeout: 245 seconds]
antocuni has quit [Ping timeout: 245 seconds]
k1nd0f has joined #pypy
k1nd0f has quit [Ping timeout: 240 seconds]
forgottenone has quit [Quit: Konversation terminated!]
andi- has joined #pypy
<phlebas> fijal:
<phlebas> fijal: in case you have time today or any time tomorrow, we can also have a quick chat
<phlebas> i tried to follow the discussion about the IR stuff, but my bouncer was offline for a bit and I seem to have missed where it started :)
antocuni has joined #pypy
<phlebas> thanks :)
antocuni has quit [Quit: Leaving]
<mattip> ... and bencher4 died again :(
Rhy0lite has quit [Quit: Leaving]
<kenaan> mattip buildbot 817276678139 /README-CHROOT: update README-CHROOT
<kenaan> mattip buildbot 58d0b93576d2 /bot2/pypybuildbot/: add benchmarker64 slave, remove raspberry-pi cross builders
bbot2 has quit [Quit: buildmaster reconfigured: bot disconnecting]
bbot2 has joined #pypy
Ai9zO5AP has quit [Quit: WeeChat 2.4]
Garen has joined #pypy
Zaab1t has quit [Quit: bye bye friends]
<njs> Hodgestar: AFAIK the difference between "cython" and "python with annotations" is that cython adds new expressive features, while annotations only reduce expressivity
<njs> Hodgestar: and we need to be able to express things that python cannot express :-). E.g. in "python with annotations", how do I write 'x is an array of int32', and then have x[i] += 10 do wraparound arithmetic.
<njs> (I guess you could come up with some elaborate python code involving, like, the struct module. but then to generate efficient C code our compiler would have to analyze the elaborate python code and figure out that it's really just saying 'x is an array of int32' and '+ does wraparound arithmetic'. It's a lot easier to write that in the first place and skip the analysis.)
energizer has quit [Ping timeout: 272 seconds]
whitewolf has quit [Ping timeout: 272 seconds]
energizer has joined #pypy
whitewolf has joined #pypy
moei has quit [Read error: Connection reset by peer]
moei has joined #pypy
moei has quit [Quit: Leaving...]
<Hodgestar> njs: I don't know about adding annotations being less expressive, but yes implementing C semantics for a Python only version would be a work.
<Hodgestar> On the other hand .pyx files don't run on Python by itself at all.
<Hodgestar> njs: I think wanting to support existing Cython stuff makes the discussion a bit moot, but I still turning the idea around in my head a bit, so tx for input.
<Hodgestar> s/still/am still/
vstinner has left #pypy [#pypy]
Kipras_ has quit [Ping timeout: 246 seconds]