[pypy-dev] curses_cffi and others
Gabriel de Perthuis
g2p.code at gmail.com
Sat Mar 2 12:39:55 CET 2013
On Fri, 01 Mar 2013 17:44:27 +0100, Armin Rigo wrote:
Le 01 Mar 2013 17:44:27 +0100, Armin Rigo a écrit:
> Hi Gabriel,
>
> On Fri, Mar 1, 2013 at 4:22 PM, Gabriel de Perthuis <g2p.code at gmail.com>
> wrote:
>> Packages using CFFI should be able to install-require CFFI whatever the
>> interpreter is, including requiring newer versions than the one the
>> interpreter ships.
>
> (...)
>
> Even so, more generally, I think that requiring users to install a newer
> version of the interpreter is actually feasible, when we are talking
> about PyPy and not CPython. A "newer version" of PyPy is just an
> internal improvement, but not a language change --- it's always 2.7. I
> think that so far, our users are (or should be) ready to deal with this
> minor annoyance; if they are not and really want a completely stable,
> never-changing interpreter, then they're going to stick with CPython
> anyway.
>
> In other words, I regard this as similar to: "this program requires PyPy
> 2.0 and not a lower version because otherwise its usage of greenlets is
> going to be a huge performance hit".
I don't mind terribly if CFFI is version-locked on PyPy, because PyPy is
currently installed manually by people who know what they are doing, and
they can upgrade it if necessary.
Also, CFFI is great for me because it makes it easy to access just about
any feature a C library exposes, and does so portably. I can gladly trade
off CPU speed for improvements to CFFI in featurefulness or usability.
So my previous message was actually a reaction to the "CFFI in stdlib"
inclusion proposal. There are enormous advantages to sharing stdlib
implementation between the interpreters, and using CFFI for stdlib
implementation makes sense. It will make the stdlib better maintained,
and improve both PyPy and CPython.
But speaking as an external user, targetting CPython which is on anything
but a rolling release, *exposing* the preinstalled version is not
particularly useful (the bundled version will either be obsolete or not
widely packaged), and harmful if it interferes at the level of eggs or
import.
I'll admit this makes me indifferent to expanding the stdlib with anything
but a built-in pip, necessarily-shared resources like a mainloop or data
types used in API signatures, or de-facto standard libraries that have
become mature vergeing on stagnant; everything else is better served by a
blessed subset of PyPI libraries, the way haskell-platform works.
It looks like Stefan Behnel asked the right questions on the more
appropriate thread (plus some stuff about making compiler invocation
deterministic that I also care about).
More information about the pypy-dev
mailing list