Author ncoghlan
Recipients Drekin, Gregory.Salvan, barry, ncoghlan, sbspider, terry.reedy
Date 2014-08-31.02:57:58
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1409453880.29.0.967200456405.issue22257@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2014-08-31 02:58:00ncoghlansetrecipients: + ncoghlan, barry, terry.reedy, Drekin, Gregory.Salvan, sbspider
2014-08-31 02:58:00ncoghlansetmessageid: <1409453880.29.0.967200456405.issue22257@psf.upfronthosting.co.za>
2014-08-31 02:58:00ncoghlanlinkissue22257 messages
2014-08-31 02:57:58ncoghlancreate