Nick Coghlan added the comment:

It's still deferred for the time being. Based on what I learned on my previous 
attempt at implementing it, there's some prep work I need to do where I believe 
reviewing someone else's attempt at doing it would actually be *more* work than 
doing the work myself (this is a truly arcane area of the current 
implementation - *I* find it hard to follow, and I've been hacking on it for 
years. PEP 432 was actually inspired by the sheer amount of work that was 
involved in getting the new pure Python import system integrated properly for 
Python 3.3).

That prep work is refactoring the mammoth pythonrun.c file to split out a 
separate lifecycle.c file that just has the startup and shutdown code, leaving 
pythonrun.c as a pure runtime module. Anything that remains in pythonrun.c 
should be able to assume a fully functional Python interpreter is available, 
while the code in lifecycle.c will need to be able to cope with the fact that 
the interpreter may only be partially functional (whether that's due to it 
being setup or destroyed).

The reason this matters is that it lets me bring the C linker to bear on the 
problem of enforcing state encapsulation. This proved absolutely essential in 
my initial PEP 432 implementation attempt, but doing the restructure in the 
fork resulted in an unacceptably high number of merge conflicts. Doing the 
restructure *first* should make it far more feasible to maintain the feature 
branch, and make it practical to restart work on the PEP itself.

Once we get to that point, then it should actually be possible to have a proper 
collaborative branch in my CPython sandbox repo on BitBucket, and keep it in 
sync with CPython trunk relatively easily.

First step is getting the restructure patch together, though. I actually *have* 
started work on that, but it isn't in a sensible enough state to be worth 
sharing at this point. Once it is, I'll open a separate tracker issue 
specifically for that, and make this one depend on it.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue22257>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to