3 ms·
Link to the actual software: https://github.com/serge-sans-paille/pythran https://github.com/serge-sans-paille/pythran
by accurrent 8y ago
Link to the actual software: https://github.com/serge-sans-paille/pythran https://github.com/serge-sans-paille/pythran
- emmelaich 8y ago> "Pythran is an ahead of time compiler for a subset of the Python language, with a focus on scientific computing." and > a claimless python to c++ converter
- serge-ss-paille 8y ago(main dev writting) Don't focus too much on the claimless :-) There still are far more wide spread tools that solve the same kind of issues (numba, cython, julia)... The idea of the change was that it's more important to convey the problem it solves rather than how it's done ;-)
- UncleEntity 8y agoNice project, I've wanted to do something similar using my libjit python bindings but never seem to work up the gumption. Simple and Effective Type Check Removal through Lazy Basic Block Versioning[0] could be adapted to make it unnecessary to compile more than one version of the function at a (probably) minor cost of performance. It's geared more towards jitted code but something like it where it compiles different blocks where the types matter and falls back to interpreted code if users pass in some random types not expected just might work -- or the python interpreter throws an exception if the types don't make sense. [0]http://drops.dagstuhl.de/opus/volltexte/2015/5219/pdf/9.pdf http://drops.dagstuhl.de/opus/volltexte/2015/5219/pdf/9.pdf