sdiehl / numpile

A tiny 1000 line LLVM-based numeric specializer for scientific Python code.
http://dev.stephendiehl.com/numpile/
MIT License
405 stars 52 forks source link

Upgrade to Python3. #8

Closed pfalcon closed 5 years ago

pfalcon commented 5 years ago

90% of changes is getting eager results of map(), which is otherwise lazy in Python3 (represented by adhoc "map" object). Beyond that, there're removals of types which are no longer in Python3 (long, unicode), and literally the only noticeable change is to account for different AST structure to encode function parameters.

pfalcon commented 5 years ago

As a follow up to #7, this patch updates Numpile to run on Python3.

I would recommend to keep Python2 version in a branch, just in case (for parties who may still be interested in Python2). In other words, to run:

git checkout master
git checkout -b python2
git push origin HEAD
git checkout master

before applying this patch.

Actually, a similar branch probably should have been created for the original llvmpy version too. It can be done now still:

git co -b llvmpy 931a1715f0f3e33e6b2f9e7defd93062b6fff2e3
git push origin HEAD

Thanks!

pfalcon commented 5 years ago

@sdiehl, Thanks for finding time to review and merge these patches! Any comments on the proposal to create python2 and/or llvmpy specific branches in the repo?