Revision a9c55c56f5b8d52ea7784806f664efb5088c03ad (click the page title to view the current version)

sage

Changes from a9c55c56f5b8d52ea7784806f664efb5088c03ad to 856a9a8874947b2b963104fc18317273cb6b940b

It would be nice to use and improve the independent Cython library [cypari](https://pypi.python.org/pypi/cypari) developed by M. Culler and N. Dunfield for [Snappy](http://www.math.uic.edu/t3m/SnapPy/).

* have a look at the [cypari src]((https://pypi.python.org/pypi/cypari) stuck at version 2.5.5 of pari!!
* the file "gen.pyx" (cython side) can be automatically generated from "pari.desc" (*probably easy*)
* upgrade pari? there is a huge difference between 2.7.X (stable release) and the current 2.8.X (git master). Hence effort put for versions 2.7.X will basically be useless for 2.8.X (see trac [ticket #16997](http://trac.sagemath.org/16997))
* talk about the patches
* avoid copy from the pari stack. After each libpari function call in Sage, there is a copy of the result and cleaning of the pari stack. It should be possible to use pointer on the pari stack directly. It is not clear how much we will win as the results are often small (*needs some design discussion*)
* join forces with other interface (i.e. gp, Julia)
* It would be nice to use and improve the independent Cython library [cypari](https://pypi.python.org/pypi/cypari) developed by M. Culler and N. Dunfield for [Snappy](http://www.math.uic.edu/t3m/SnapPy/). Have a look at the [cypari src]((https://pypi.python.org/pypi/cypari) stuck at version 2.5.5 of pari!!
* The file "gen.pyx" (Cython side) can be automatically generated from "pari.desc" (*easy modulo the documentation*)
* Improve the error handling: [Sage ticket #16997](http://trac.sagemath.org/16997)
* Upgrade PARI! There is a huge difference between 2.7.X (stable release) and the current 2.8.X (git master). Hence effort put for versions 2.7.X will basically be useless for 2.8.X (see trac [Sage ticket #14894](http://trac.sagemath.org/14894))
* Talk about the patches
* Avoid copy from the pari stack. After each libpari function call in Sage, there is a copy of the result and cleaning of the pari stack. It should be possible to use pointer on the pari stack directly. It is not clear how much we will win as the results are often small (*needs some design discussion*)
* Join forces with other interface (i.e. gp, Julia)