[Python-Dev] Python Language Summit at PyCon: Agenda (original) (raw)

Gregory P. Smith greg at krypto.org
Sat Mar 2 09:01:25 CET 2013


On Thu, Feb 28, 2013 at 1:15 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:

On Thu, Feb 28, 2013 at 1:37 PM, Barry Warsaw <barry at python.org> wrote: > On Feb 27, 2013, at 11:33 AM, fwierzbicki at gmail.com wrote: >>The easy part for Jython is pushing some of our "if isjython:" stuff >>into the appropriate spots in CPython's Lib/. > > I wonder if there isn't a better way to do this than sprinkling isjython, > ispypy, isironpython, isthenextbigthing all over the code base. I have no > bright ideas here, but it seems like a feature matrix would be a better way to > go than something that assumes a particular Python implementation has a > particular feature set (which may change in the future).

Yes, avoiding that kind of thing is a key motivation for sys.implementation. Any proposal for "isjython" blocks should instead be reformulated as a proposal for new sys.implementation attributes.

I kind of wish there were an assert-like magic "if debug:" type of mechanism behind this so that blocks of code destined solely for a single interpreter won't be seen in the code objects or .pyc's of non-target interpreters.

That idea obviously isn't fleshed out but i figure i'd better plant the seed...

It'd mean smaller code objects and less bloat from constants (docstrings for one implementation vs another, etc) being in memory. Taken further, this could even be extended beyond implementations to platforms as we have some standard library code with alternate definitions within one file for windows vs posix, etc.

Antoine's point about code like that being untestable by most CPython developers is valid. I'd want --with-pydebug builds to disable any parsing -> code object exclusions to at least make sure its syntax doesn't rot but that still doesn't test it unless we get someone maintains reliable buildbots for every implementation using this common stdlib.

-gps -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20130302/e3a75e67/attachment.html>



More information about the Python-Dev mailing list