[Python-Dev] PEP 340: Deterministic Finalisation (new PEP draft, either a competitor or update to PEP 340)
Nick Coghlan
ncoghlan at gmail.com
Sun May 8 16:10:55 CEST 2005
Nick Coghlan wrote:
> The whole PEP draft can be found here:
> http://members.iinet.net.au/~ncoghlan/public/pep-3XX.html
I've updated this based on the feedback so far. The biggest change is that I've
dropped the 'del' idea in favour of an optional 'finally' clause on for loops
that finalises the iterator in addition to executing the code contained in the
clause.
I also added additional description of the purpose of user defined statements
(factoring out exception handling boilerplate that is not easily factored into a
separate function), and fixed the semantics so that __exit__() is called without
an argument when the statement exits cleanly (previously, a template could not
tell if the statement exited cleanly or not).
I expanded on the generator section, indicating that the __exit__ method simply
invokes next() if no exception is passed in (this makes the transaction example
work correctly).
I updated the auto_retry example to work with the new for loop finalisation
approach, and added an example (reading the lines from multiple named files)
where timely iterator finalisation is needed.
Cheers,
Nick.
--
Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
---------------------------------------------------------------
http://boredomandlaziness.blogspot.com
More information about the Python-Dev
mailing list