[Python-Dev] PEP 370 and IronPython (original) (raw)
Michael Foord fuzzyman at voidspace.org.uk
Sat Oct 10 19:31:19 CEST 2009
- Previous message: [Python-Dev] Top-posting on this list
- Next message: [Python-Dev] PEP 370 and IronPython
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Brett Cannon wrote:
On Fri, Oct 9, 2009 at 11:32, Michael Foord <fuzzyman at voidspace.org.uk_ _<mailto:fuzzyman at voidspace.org.uk>> wrote: The only change in semantics I'm proposing is for users of IronPython 2.6 which is not even at final release yet. CPython users would be unaffected. Then why can't IronPython patch site.py to do what they want? I still feel uncomfortable changing site.py for this in a micro release.
The IronPython team currently have legal issues distributing modified versions of the standard library (Dino can correct me if I'm wrong here).
That aside, I think that were a Python feature is implemented in such a way as to preclude compatibility with other implementations then we should see it as a bugfix to correct it.
I can't see why you should feel uncomfortable (beyond general principle), it seems clear that this change can't affect users of ClassicPython. It is not only IronPython that will benefit but also Jython when they port to Python 2.6.
As a general rule the alternative implementations will only start a serious port once a version is released and into maintenance mode. If we aren't able to fix compatibility issues then the implementations will always have to maintain their own patch sets that may or may not get merged back in (or in the case of implementations with awkward legal departments they'll have to ship bugs).
All the best,
Michael
On 9 Oct 2009, at 19:00, Brett Cannon <brett at python.org_ _<mailto:brett at python.org>> wrote:
On Fri, Oct 9, 2009 at 04:53, Michael Foord <fuzzyman at voidspace.org.uk <mailto:fuzzyman at voidspace.org.uk>> wrote: Christian Heimes wrote: Michael Foord wrote: I really like this scheme. The important thing for IronPython is that we can get it into Python 2.6 (along with other fixes to make distutils compatible with IronPython - like not attempting to bytecode-compile when sys.dontwritebytecode is True).
I don't think my proposal will land into 2.6. The changes are too severe for a bug fix release. Right, certainly not adding umpteen new sys attributes. :-) The problem is that the alternative implementations run well behind Python-trunk, indeed it doesn't really make sense for them to put a lot of effort into implementing a version that is still in development. The result is that they discover incompatibilites after a version has gone into 'bugfix only' mode. Whilst the fix you have described (add information to sys that is used by site.py and distutils) is ideal it can only go into 2.7. I would still like to see a fix in 2.6 - even if it is simple logic in site.py using sys.platform (if sys.platform == 'cli'; elif sys.platform == 'java' etc). That way IronPython 2.6 is able to be compatible with Python 2.6. This logic might need duplicating in distutils (I haven't looked at how distutils works out where the user site-packages folder is), but it is a 'maintenance only' fix. But it's still a change in semantics. Tossing this into 2.6 would mean that anyone who has worked around the current behaviour is going to have a busted install. -Brett
-- http://www.ironpythoninaction.com/ http://www.voidspace.org.uk/blog
- Previous message: [Python-Dev] Top-posting on this list
- Next message: [Python-Dev] PEP 370 and IronPython
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]